From a7fdae500cc66a8adcb7219e68556e0968b11e1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=AB=8B=E5=B8=AE?= <3294713004@qq.com> Date: Fri, 16 Jan 2026 21:59:57 +0800 Subject: [PATCH] =?UTF-8?q?build(boards):=20xpython=E6=9D=BF=E5=8D=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=20`npm=20run=20build:prod`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MixGo MINI/01-1-快速入门-你好世界.mix | 2 +- .../MixGo MINI/01-2-快速入门-你好世界2.mix | 2 +- .../MixGo MINI/02-1-快速入门-跳动的心.mix | 2 +- .../MixGo MINI/02-2-快速入门-为你心动.mix | 2 +- .../MixGo MINI/03-1-快速入门-心随我动.mix | 2 +- .../MixGo MINI/03-2-快速入门-心随我动2.mix | 2 +- .../MixGo MINI/04-1-快速入门-流动的灯.mix | 2 +- .../MixGo MINI/04-2-快速入门-流动的灯2.mix | 2 +- .../MixGo MINI/04-2-快速入门-流动的灯3.mix | 2 +- .../MixGo MINI/04-2-快速入门-流动的灯4.mix | 2 +- .../MixGo MINI/04-2-快速入门-流动的灯5.mix | 2 +- .../MixGo MINI/05-1-过程控制-双键开关.mix | 2 +- .../MixGo MINI/05-2-快速入门-单键开关2.mix | 2 +- .../MixGo MINI/05-2-过程控制-单键开关.mix | 2 +- .../MixGo MINI/05-3-过程控制-IPO概念.mix | 2 +- .../MixGo MINI/06-1-过程控制-声音采集.mix | 2 +- .../MixGo MINI/06-2-过程控制-看见声音.mix | 2 +- .../MixGo MINI/07-1-过程控制-光强采集.mix | 2 +- .../MixGo MINI/07-2-过程控制-自动补光.mix | 2 +- .../MixGo MINI/08-1-过程控制-接近检测.mix | 2 +- .../MixGo MINI/08-2-过程控制-入侵报警.mix | 2 +- .../MixGo MINI/09-1-输入输出-加速度.mix | 2 +- .../MixGo MINI/09-2-输入输出-平衡仪.mix | 2 +- .../MixGo MINI/10-1-输入输出-地磁强度.mix | 2 +- .../MixGo MINI/10-2-输入输出-金属探测.mix | 2 +- .../MixGo MINI/11-1-输入输出-点阵控制.mix | 2 +- .../MixGo MINI/11-2-输入输出-光标控制.mix | 2 +- .../MixGo MINI/12-1-输入输出-实时时钟.mix | 2 +- .../MixGo MINI/12-2-输入输出-实时时钟2.mix | 2 +- .../MixGo MINI/13-1-逻辑计算-手速测试.mix | 2 +- .../MixGo MINI/13-2-逻辑计算-手速测试2.mix | 2 +- .../MixGo MINI/14-1-逻辑计算-反应测试.mix | 2 +- .../MixGo MINI/14-2-逻辑计算-反应测试2.mix | 2 +- .../MixGo MINI/15-1-逻辑计算-简单打地鼠.mix | 2 +- .../MixGo MINI/15-2-逻辑计算-计时打地鼠.mix | 2 +- .../MixGo MINI/16-1-逻辑计算-开始打地鼠.mix | 2 +- .../MixGo MINI/16-2-逻辑计算-循环打地鼠.mix | 2 +- .../MixGo MINI/17-0-复杂控制-非中断效果.mix | 2 +- .../MixGo MINI/17-2-复杂控制-单键中断.mix | 2 +- .../MixGo MINI/18-1-复杂控制-定时计时.mix | 2 +- .../MixGo MINI/18-2-复杂控制-循环计时.mix | 2 +- .../MixGo MINI/19-1-复杂控制-多线程.mix | 2 +- .../MixGo MINI/19-2-复杂控制-多线程与中断.mix | 2 +- .../MixGo MINI/20-1-复杂控制-异常.mix | 2 +- .../MixGo MINI/20-2-复杂控制-异常处理.mix | 2 +- .../21-1-射频识别-读取测试(MIG2).mix | 2 +- .../21-2-射频识别-读取卡号(MIG2).mix | 2 +- .../22-1-射频识别-写卡测试(MIG2).mix | 2 +- .../22-2-射频识别-持续写卡(MIG2).mix | 2 +- .../MixGo MINI/22-2射频识别-模拟公交卡.mix | 2 +- .../MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix | 2 +- .../MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix | 2 +- .../MixGo MINI/23-2-蓝牙键鼠-翻页笔.mix | 2 +- .../MixGo MINI/24-1-无线广播-通讯测试.mix | 2 +- .../MixGo MINI/24-2-无线广播-防丢检测.mix | 2 +- .../MixGo MINI/25-1-飞机游戏-显示飞机.mix | 2 +- .../MixGo MINI/25-2-飞机游戏-移动飞机.mix | 2 +- .../MixGo MINI/26-1-飞机游戏-发射子弹.mix | 2 +- .../MixGo MINI/26-2-飞机游戏-移动音效.mix | 2 +- .../MixGo MINI/27-1-飞机游戏-显示敌机.mix | 2 +- .../MixGo MINI/27-2-飞机游戏-消灭敌机.mix | 2 +- .../MixGo MINI/28-1-飞机游戏-显示得分.mix | 2 +- .../MixGo MINI/28-2-飞机游戏-结束游戏.mix | 2 +- .../29-1-物联网-简单数据定时上报.mix | 2 +- .../29-2-物联网-复杂数据定时上报.mix | 2 +- .../30-1-物联网-简单数据按需上报.mix | 2 +- .../30-2-物联网-高级数据按需上报.mix | 2 +- .../MixGo MINI/31-1-物联网-单主题数据订阅.mix | 2 +- .../31-1-物联网-单主题数据订阅2.mix | 2 +- .../MixGo MINI/32-1-物联网-多主题数据订.mix | 2 +- .../MixGo MINI/32-2-物联网-多主题数据订2.mix | 2 +- .../MixGo MINI/33-1-课堂互动-自由签到.mix | 2 +- .../MixGo MINI/33-2-课堂互动-按需签到.mix | 2 +- .../MixGo MINI/34-1-课堂互动-一人抢答.mix | 2 +- .../MixGo MINI/34-2-课堂互动-多人抢答.mix | 2 +- .../MixGo MINI/35-1-课堂互动-单选答题.mix | 2 +- .../MixGo MINI/35-2-课堂互动-多选答题.mix | 2 +- .../MixGo MINI/36-1-课堂互动-点名答题.mix | 2 +- .../MixGo MINI/36-2-课堂互动-多人点答.mix | 2 +- .../MixGo MINI/39-1-文件操作-录音采集.mix | 2 +- .../MixGo MINI/39-2-文件操作-录音重现.mix | 2 +- .../MixGo MINI/40-1-文件操作-震动采集.mix | 2 +- .../MixGo MINI/40-2-文件操作-震动重现.mix | 2 +- .../第三单元/3-12 MIXIO使用.mix | 2 +- .../第三单元/3-2a 无线发送.mix | 2 +- .../第三单元/3-2b 无线接收.mix | 2 +- .../第三单元/3-3a 蓝牙主机.mix | 2 +- .../第三单元/3-3b 蓝牙从机.mix | 2 +- .../第三单元/3-4 HTTP协议.mix | 2 +- .../第三单元/3-5 MQTT协议.mix | 2 +- .../第二单元/2-11 RFID读取.mix | 2 +- .../第二单元/2-16 WIFI扫描.mix | 2 +- .../第二单元/2-4 获取光强.mix | 2 +- .../第二单元/2-5 楼道灯.mix | 2 +- .../第五单元/5-11 停车显示.mix | 2 +- .../第五单元/5-19 车位检测.mix | 2 +- .../第五单元/5-20 空位显示.mix | 2 +- .../第五单元/5-9 停车空位.mix | 2 +- .../第六单元/2-10 摔倒检测.mix | 2 +- .../第六单元/2-2 温度与光照.mix | 2 +- .../第六单元/2-7 震动强度.mix | 2 +- .../第四单元/4-10-11 MIXIO学生抢答.mix | 2 +- .../第四单元/4-15-16 MIXIO学生抢答2.mix | 2 +- .../第四单元/4-5 MIXIO学生点到.mix | 2 +- boards/default/micropython_educore/index.xml | 2 +- ...le.705ae874.js => main.bundle.75578a43.js} | 2 +- .../examples/MixGo/01-1-快速入门-你好世界.mix | 2 +- .../MixGo/01-2-快速入门-你好世界2.mix | 2 +- .../examples/MixGo/02-1-快速入门-跳动的心.mix | 2 +- .../examples/MixGo/02-2-快速入门-为你心动.mix | 2 +- .../examples/MixGo/03-1-快速入门-心随我动.mix | 2 +- .../MixGo/03-2-快速入门-心随我动2.mix | 2 +- .../examples/MixGo/04-1-快速入门-流动的灯.mix | 2 +- .../MixGo/04-2-快速入门-流动的灯2.mix | 2 +- .../MixGo/04-2-快速入门-流动的灯3.mix | 2 +- .../MixGo/04-2-快速入门-流动的灯4.mix | 2 +- .../MixGo/04-2-快速入门-流动的灯5.mix | 2 +- .../examples/MixGo/05-1-过程控制-双键开关.mix | 2 +- .../MixGo/05-2-快速入门-单键开关2.mix | 2 +- .../examples/MixGo/05-2-过程控制-单键开关.mix | 2 +- .../examples/MixGo/05-3-过程控制-IPO概念.mix | 2 +- .../examples/MixGo/06-1-过程控制-声音采集.mix | 2 +- .../examples/MixGo/06-2-过程控制-看见声音.mix | 2 +- .../examples/MixGo/07-1-过程控制-光强采集.mix | 2 +- .../examples/MixGo/07-2-过程控制-自动补光.mix | 2 +- .../examples/MixGo/08-1-过程控制-接近检测.mix | 2 +- .../examples/MixGo/08-2-过程控制-入侵报警.mix | 2 +- .../examples/MixGo/09-1-输入输出-加速度.mix | 2 +- .../examples/MixGo/09-2-输入输出-平衡仪.mix | 2 +- .../examples/MixGo/10-1-输入输出-地磁强度.mix | 2 +- .../examples/MixGo/10-2-输入输出-金属探测.mix | 2 +- .../examples/MixGo/11-1-输入输出-点阵控制.mix | 2 +- .../examples/MixGo/11-2-输入输出-光标控制.mix | 2 +- .../examples/MixGo/12-1-输入输出-实时时钟.mix | 2 +- .../MixGo/12-2-输入输出-实时时钟2.mix | 2 +- .../examples/MixGo/13-1-逻辑计算-手速测试.mix | 2 +- .../MixGo/13-2-逻辑计算-手速测试2.mix | 2 +- .../examples/MixGo/14-1-逻辑计算-反应测试.mix | 2 +- .../MixGo/14-2-逻辑计算-反应测试2.mix | 2 +- .../MixGo/15-1-逻辑计算-简单打地鼠.mix | 2 +- .../MixGo/15-2-逻辑计算-计时打地鼠.mix | 2 +- .../MixGo/16-1-逻辑计算-开始打地鼠.mix | 2 +- .../MixGo/16-2-逻辑计算-循环打地鼠.mix | 2 +- .../MixGo/17-0-复杂控制-非中断效果.mix | 2 +- .../examples/MixGo/17-2-复杂控制-单键中断.mix | 2 +- .../examples/MixGo/18-1-复杂控制-定时计时.mix | 2 +- .../examples/MixGo/18-2-复杂控制-循环计时.mix | 2 +- .../examples/MixGo/19-1-复杂控制-多线程.mix | 2 +- .../MixGo/19-2-复杂控制-多线程与中断.mix | 2 +- .../examples/MixGo/20-1-复杂控制-异常.mix | 2 +- .../examples/MixGo/20-2-复杂控制-异常处理.mix | 2 +- .../examples/MixGo/23-2 蓝牙键鼠-蓝牙翻页.mix | 2 +- .../MixGo/23-2-蓝牙键鼠-无线蓝牙鼠标.mix | 2 +- .../examples/MixGo/23-2-蓝牙键鼠-无线键盘.mix | 2 +- .../examples/MixGo/24-1-无线广播-通讯测试.mix | 2 +- .../examples/MixGo/24-2-无线广播-防丢检测.mix | 2 +- .../MixGo/29-1-物联网-简单数据定时上报.mix | 2 +- .../MixGo/29-2-物联网-复杂数据定时上报.mix | 2 +- .../MixGo/30-1-物联网-简单数据按需上报.mix | 2 +- .../MixGo/30-2-物联网-高级数据按需上报.mix | 2 +- .../MixGo/31-1-物联网-单主题数据订阅.mix | 2 +- .../MixGo/31-1-物联网-单主题数据订阅2.mix | 2 +- .../MixGo/32-1-物联网-多主题数据订.mix | 2 +- .../MixGo/32-2-物联网-多主题数据订2.mix | 2 +- .../examples/MixGo/33-1-课堂互动-自由签到.mix | 2 +- .../examples/MixGo/33-2-课堂互动-按需签到.mix | 2 +- .../examples/MixGo/34-1-课堂互动-一人抢答.mix | 2 +- .../examples/MixGo/34-2-课堂互动-多人抢答.mix | 2 +- .../examples/MixGo/35-1-课堂互动-单选答题.mix | 2 +- .../examples/MixGo/35-2-课堂互动-多选答题.mix | 2 +- .../examples/MixGo/36-1-课堂互动-点名答题.mix | 2 +- .../examples/MixGo/36-2-课堂互动-多人点答.mix | 2 +- .../examples/MixGo/39-1-文件操作-录音采集.mix | 2 +- .../examples/MixGo/39-2-文件操作-录音重现.mix | 2 +- .../examples/MixGo/40-1-文件操作-震动采集.mix | 2 +- .../examples/MixGo/40-2-文件操作-震动重现.mix | 2 +- boards/default/micropython_esp32/index.xml | 2 +- ...le.67d11a28.js => main.bundle.00163ba6.js} | 2 +- .../default/micropython_esp32c2/config.json | 2 +- .../MixGo MINI/01-1-快速入门-你好世界.mix | 2 +- .../MixGo MINI/01-2-快速入门-你好世界2.mix | 2 +- .../MixGo MINI/02-1-快速入门-跳动的心.mix | 2 +- .../MixGo MINI/02-2-快速入门-为你心动.mix | 2 +- .../MixGo MINI/03-1-快速入门-心随我动.mix | 2 +- .../MixGo MINI/03-2-快速入门-心随我动2.mix | 2 +- .../MixGo MINI/04-1-快速入门-流动的灯1.mix | 2 +- .../MixGo MINI/04-1-快速入门-流动的灯2.mix | 2 +- .../MixGo MINI/04-1-快速入门-流动的灯3.mix | 2 +- .../MixGo MINI/04-1-快速入门-流动的灯4.mix | 2 +- .../MixGo MINI/04-1-快速入门-流动的灯5.mix | 2 +- .../MixGo MINI/04-2-快速入门-显示中文.mix | 2 +- .../MixGo MINI/04-3-快速入门-剪刀石头布.mix | 2 +- .../MixGo MINI/05-1-过程控制-双键开关.mix | 2 +- .../MixGo MINI/05-2-快速入门-单键开关2.mix | 2 +- .../MixGo MINI/05-2-过程控制-单键开关.mix | 2 +- .../MixGo MINI/05-3-过程控制-IPO概念.mix | 2 +- .../MixGo MINI/06-1-过程控制-声音采集.mix | 2 +- .../MixGo MINI/06-2-过程控制-看见声音.mix | 2 +- .../MixGo MINI/07-1-过程控制-光强采集.mix | 2 +- .../MixGo MINI/07-2-过程控制-自动补光.mix | 2 +- .../MixGo MINI/08-1-过程控制-接近检测.mix | 2 +- .../MixGo MINI/08-2-过程控制-入侵报警.mix | 2 +- .../MixGo MINI/09-1-输入输出-加速度.mix | 2 +- .../MixGo MINI/09-2-输入输出-平衡仪.mix | 2 +- .../MixGo MINI/10-1-输入输出-地磁强度.mix | 2 +- .../MixGo MINI/10-2-输入输出-金属探测.mix | 2 +- .../MixGo MINI/11-1-输入输出-点阵控制.mix | 2 +- .../MixGo MINI/11-2-输入输出-光标控制.mix | 2 +- .../MixGo MINI/12-1-输入输出-实时时钟.mix | 2 +- .../MixGo MINI/12-2-输入输出-实时时钟2.mix | 2 +- .../MixGo MINI/12-3-输入输出-随机变色灯.mix | 2 +- .../12-4-输入输出-外接土壤湿度传感器.mix | 2 +- .../MixGo MINI/13-1-逻辑计算-手速测试.mix | 2 +- .../MixGo MINI/13-2-逻辑计算-手速测试2.mix | 2 +- .../MixGo MINI/14-1-逻辑计算-反应测试.mix | 2 +- .../MixGo MINI/14-2-逻辑计算-反应测试2.mix | 2 +- .../MixGo MINI/15-1-逻辑计算-简单打地鼠.mix | 2 +- .../MixGo MINI/15-2-逻辑计算-计时打地鼠.mix | 2 +- .../MixGo MINI/16-1-逻辑计算-开始打地鼠.mix | 2 +- .../MixGo MINI/16-2-逻辑计算-循环打地鼠.mix | 2 +- .../MixGo MINI/17-0-复杂控制-非中断效果.mix | 2 +- .../MixGo MINI/17-2-复杂控制-单键中断.mix | 2 +- .../MixGo MINI/18-1-复杂控制-定时计时.mix | 2 +- .../MixGo MINI/18-2-复杂控制-循环计时.mix | 2 +- .../MixGo MINI/19-1-复杂控制-多线程.mix | 2 +- .../MixGo MINI/19-2-复杂控制-多线程与中断.mix | 2 +- .../MixGo MINI/20-1-复杂控制-异常.mix | 2 +- .../MixGo MINI/20-2-复杂控制-异常处理.mix | 2 +- .../21-1-射频识别-读取测试(MIG2).mix | 2 +- .../21-2-射频识别-读取卡号(MIG2).mix | 2 +- .../22-1-射频识别-写卡测试(MIG2).mix | 2 +- .../22-2-射频识别-持续写卡(MIG2).mix | 2 +- .../MixGo MINI/22-2射频识别-模拟公交卡.mix | 2 +- .../MixGo MINI/23-2 蓝牙键鼠-蓝牙翻页.mix | 2 +- .../23-2-蓝牙键鼠-无线蓝牙鼠标-简易版.mix | 2 +- .../MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix | 2 +- .../MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix | 2 +- .../MixGo MINI/24-1-无线广播-通讯测试.mix | 2 +- .../MixGo MINI/24-2-无线广播-防丢检测.mix | 2 +- .../MixGo MINI/26-1-ESPNow通信-发送端.mix | 2 +- .../MixGo MINI/26-1-ESPNow通信-接收端.mix | 2 +- .../29-1-物联网-简单数据定时上报.mix | 2 +- .../29-2-物联网-复杂数据定时上报.mix | 2 +- .../30-1-物联网-简单数据按需上报.mix | 2 +- .../30-2-物联网-高级数据按需上报.mix | 2 +- .../MixGo MINI/31-1-物联网-单主题数据订阅.mix | 2 +- .../31-1-物联网-单主题数据订阅2.mix | 2 +- .../MixGo MINI/32-1-物联网-多主题数据订.mix | 2 +- .../MixGo MINI/32-2-物联网-多主题数据订2.mix | 2 +- .../32-3-物联网-心知天气-天气显示屏.mix | 2 +- .../MixGo MINI/33-1-课堂互动-自由签到.mix | 2 +- .../MixGo MINI/33-2-课堂互动-按需签到.mix | 2 +- .../MixGo MINI/34-1-课堂互动-一人抢答.mix | 2 +- .../MixGo MINI/34-2-课堂互动-多人抢答.mix | 2 +- .../MixGo MINI/35-1-课堂互动-单选答题.mix | 2 +- .../MixGo MINI/35-2-课堂互动-多选答题.mix | 2 +- .../MixGo MINI/36-1-课堂互动-点名答题.mix | 2 +- .../MixGo MINI/36-2-课堂互动-多人点答.mix | 2 +- .../MixGo MINI/39-1-文件操作-录音采集.mix | 2 +- .../MixGo MINI/39-2-文件操作-录音重现.mix | 2 +- .../MixGo MINI/40-1-文件操作-震动采集.mix | 2 +- .../MixGo MINI/40-2-文件操作-震动重现.mix | 2 +- .../50-1-MixGoAI图像识别-人脸识别-返回ID.mix | 2 +- ...-2-MixGoAI图像识别-二维码识别-返回内容.mix | 2 +- ...50-3-MixGoAI图像识别-20物体对象-返回ID.mix | 2 +- ...50-3-MixGoAI图像识别-矩形识别-返回面积.mix | 2 +- ...-3-MixGoAI图像识别-车牌识别-返回车牌号.mix | 2 +- .../八年级/上册第三单元/3-12 MIXIO使用.mix | 2 +- .../八年级/上册第三单元/3-2a 无线发送.mix | 2 +- .../八年级/上册第三单元/3-2b 无线接收.mix | 2 +- .../八年级/上册第三单元/3-3a 蓝牙主机.mix | 2 +- .../八年级/上册第三单元/3-3b 蓝牙从机.mix | 2 +- .../八年级/上册第三单元/3-4 HTTP协议.mix | 2 +- .../八年级/上册第三单元/3-5 MQTT协议.mix | 2 +- .../八年级/上册第二单元/2-11 RFID读取.mix | 2 +- .../八年级/上册第二单元/2-16 WIFI扫描.mix | 2 +- .../八年级/上册第二单元/2-4 获取光强.mix | 2 +- .../八年级/上册第二单元/2-5 楼道灯.mix | 2 +- .../八年级/上册第四单元/4-10-11 MIXIO学生抢答.mix | 2 +- .../八年级/上册第四单元/4-15-16 MIXIO学生抢答2.mix | 2 +- .../八年级/上册第四单元/4-5 MIXIO学生点到.mix | 2 +- .../八年级/下册第一单元/5-11 停车显示.mix | 2 +- .../八年级/下册第一单元/5-19 车位检测.mix | 2 +- .../八年级/下册第一单元/5-20 空位显示.mix | 2 +- .../八年级/下册第一单元/5-9 停车空位.mix | 2 +- .../八年级/下册第二单元/2-10 摔倒检测.mix | 2 +- .../八年级/下册第二单元/2-2 温度与光照.mix | 2 +- .../八年级/下册第二单元/2-7 震动强度.mix | 2 +- .../六年级/上册第四单元/6上图4-17.mix | 2 +- .../六年级/下册第一单元/图1-12.mix | 2 +- .../六年级/下册第一单元/图1-16.mix | 2 +- .../六年级/下册第一单元/图1-22.mix | 2 +- .../六年级/下册第三单元/图3-22.mix | 2 +- .../六年级/下册第二单元/图2-7.mix | 2 +- .../六年级/下册第二单元/第二单元任务三习题(P56).mix | 2 +- .../外设使用示例/01-按钮切换灯-双轻触按键.mix | 2 +- .../外设使用示例/02-倒车雷达-超声波测距.mix | 2 +- .../外设使用示例/03-红绿灯-红绿蓝彩灯.mix | 2 +- .../外设使用示例/04-可调灯-拨轮电位器.mix | 2 +- .../外设使用示例/05-温湿度计-温湿度传感.mix | 2 +- .../外设使用示例/06-人体感应灯-微波雷达块.mix | 2 +- .../07-温度计-温度传感器(DS18B20).mix | 2 +- .../外设使用示例/08-按键开门-180度舵机.mix | 2 +- .../外设使用示例/09-开关LED灯-USB LED灯.mix | 2 +- .../外设使用示例/10-开关风扇-USB 风扇.mix | 2 +- .../外设使用示例/11-语音控制灯-语音识别块.mix | 2 +- .../12-植物伴侣-土壤湿度传感器.mix | 2 +- .../八年级代码/10-2 订阅主题(欢迎提示).mix | 2 +- .../八年级代码/12-2-1 舵机转动.mix | 2 +- .../八年级代码/12-2-2 刷卡开门.mix | 2 +- .../八年级代码/12-2-3 模拟刷卡开门.mix | 2 +- .../八年级代码/12-3 刷卡开门显示姓名.mix | 2 +- .../八年级代码/13-1 远程门铃演示.mix | 2 +- .../八年级代码/13-2-1 发送按下门铃.mix | 2 +- .../八年级代码/13-2-2 响应按下门铃.mix | 2 +- .../八年级代码/13-3 响应按下门铃.mix | 2 +- .../八年级代码/14-2-2 响应远程开锁.mix | 2 +- .../八年级代码/15-2 利用摄像头实现人脸识别.mix | 2 +- .../八年级代码/15-3 刷脸开锁.mix | 2 +- .../八年级代码/15-4 刷脸签到.mix | 2 +- .../八年级代码/17-1 发送花瓶数据.mix | 2 +- .../八年级代码/17-2 获取天气数据.mix | 2 +- .../八年级代码/17-3 发送花瓶数据 .mix | 2 +- .../八年级代码/20-1 模拟灌溉.mix | 2 +- .../八年级代码/20-2 模拟补光.mix | 2 +- .../八年级代码/20-3 综合控制.mix | 2 +- .../八年级代码/21-2 文物保护.mix | 2 +- .../八年级代码/21-3 危险提示.mix | 2 +- .../八年级代码/22-2 身高记录仪系统测量端.mix | 2 +- .../八年级代码/22-21 手速记录仪系统测量端.mix | 2 +- .../八年级代码/23-2 智能药盒.mix | 2 +- .../八年级代码/24-2 水果计数.mix | 2 +- .../八年级代码/25-2 红外反射探究.mix | 2 +- .../八年级代码/26-1 获取系统ID.mix | 2 +- .../八年级代码/3-1 显示声音强度.mix | 2 +- .../八年级代码/3-2 显示声音波形.mix | 2 +- .../八年级代码/3-3 显示声音大小.mix | 2 +- .../八年级代码/3-4 显示光照大小.mix | 2 +- .../八年级代码/30-2-1 安全门锁发送.mix | 2 +- .../八年级代码/30-2-2 安全门锁接收.mix | 2 +- .../八年级代码/4-3-1 楼道灯演示.mix | 2 +- .../八年级代码/4-3-2 教室光照监测.mix | 2 +- .../八年级代码/5-2 远程开关灯.mix | 2 +- .../八年级代码/5-3 远程监测物联花卉.mix | 2 +- .../八年级代码/8-2-1 有线翻页演示.mix | 2 +- .../八年级代码/8-2-2 无线翻页演示.mix | 2 +- .../八年级代码/8-蓝牙翻页笔.mix | 2 +- .../八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix | 2 +- .../八年级代码/9-3 探讨互联网协议的局限性演示.mix | 2 +- .../六年级代码/10-4 填充体验.mix | 2 +- .../六年级代码/11-3 恒亮灯演示.mix | 2 +- .../六年级代码/11-4 模拟小车避障演示.mix | 2 +- .../六年级代码/13-3-1 音乐播放体验.mix | 2 +- .../六年级代码/13-3-2 RFID模块体验.mix | 2 +- .../六年级代码/13-4-2 RFID模块体验.mix | 2 +- .../六年级代码/15-2 外置LED程序体验.mix | 2 +- .../六年级代码/18-1 事件产生并感知用户输入.mix | 2 +- .../六年级代码/18-2 计算反应时间.mix | 2 +- .../六年级代码/18-3 显示反应时间.mix | 2 +- .../六年级代码/18-4 随机时间反应.mix | 2 +- .../六年级代码/19-1 随机时间随机灯反应.mix | 2 +- .../六年级代码/19-2 等待用户输入.mix | 2 +- .../六年级代码/19-3 输出用户反应入.mix | 2 +- .../六年级代码/19-4 换更习惯的按键.mix | 2 +- .../六年级代码/2-1 开关灯演示.mix | 2 +- .../六年级代码/2-1-2 开关灯演示.mix | 2 +- .../六年级代码/2-2 三色变光灯演示.mix | 2 +- .../六年级代码/2-2-2 可调灯演示.mix | 2 +- .../六年级代码/2-3 交通灯控制演示.mix | 2 +- .../六年级代码/20 电梯系统模拟.mix | 2 +- .../六年级代码/20-5 烟雾报警模拟.mix | 2 +- .../六年级代码/21-2 控制电梯运行到指定楼层.mix | 2 +- .../六年级代码/22-2 电梯开门.mix | 2 +- .../六年级代码/22-3 电梯超载.mix | 2 +- .../六年级代码/24-3 自动熄灭转向灯.mix | 2 +- .../六年级代码/25-3 安全带未系提醒.mix | 2 +- .../六年级代码/25-4 安全带未系提醒2.mix | 2 +- .../六年级代码/26-3 倒车雷达演示程序.mix | 2 +- .../六年级代码/27-3 模拟定速巡航.mix | 2 +- .../六年级代码/29-2 错误检测予提示.mix | 2 +- .../六年级代码/3-1 把车推到目的地游戏.mix | 2 +- .../六年级代码/3-2 自动把车推到目的地游戏.mix | 2 +- .../六年级代码/3-3 改变机器人距离和速度体验.mix | 2 +- .../六年级代码/4-2 声控灯演示.mix | 2 +- .../六年级代码/4-2 自动门演示.mix | 2 +- .../六年级代码/5-1 看见声音演示.mix | 2 +- .../六年级代码/5-4 声控灯阈值体验.mix | 2 +- .../六年级代码/6-1 开关量.mix | 2 +- .../六年级代码/6-3 非体验.mix | 2 +- .../六年级代码/6-3-2 非体验.mix | 2 +- .../六年级代码/7-1 与运算.mix | 2 +- .../六年级代码/7-3 楼道灯体验.mix | 2 +- .../六年级代码/8-1 或运算.mix | 2 +- .../六年级代码/8-3 自动门加手动体验.mix | 2 +- .../六年级代码/9-1 开关灯体验.mix | 2 +- .../六年级代码/9-1 触控灯体验.mix | 2 +- .../六年级代码/9-2 可调灯体验.mix | 2 +- .../六年级代码/9-4-1 光标手动控制演示.mix | 2 +- .../六年级代码/9-4-2 光标自动控制演示.mix | 2 +- .../G1-1 接金币游戏-显示移动篮子.mix | 2 +- .../G1-10 接金币游戏-改用传感器控制游戏.mix | 2 +- .../G1-11 接金币游戏-加入剩余时间显示.mix | 2 +- .../G1-12 接金币游戏-加入随机难度.mix | 2 +- .../G1-2 接金币游戏-手动移动篮子.mix | 2 +- .../G1-3 接金币游戏-模块化手动移动篮子.mix | 2 +- .../G1-4 接金币游戏-移动范围控制.mix | 2 +- .../G1-5 接金币游戏-显示金豆下落.mix | 2 +- .../G1-6 接金币游戏-手动启动游戏.mix | 2 +- .../G1-7 接金币游戏-判断游戏到时结束.mix | 2 +- .../G1-8 接金币游戏-判断是否接住.mix | 2 +- .../G1-9 接金币游戏-计算并显示最终得分.mix | 2 +- .../经典游戏复刻/G2-1-飞机游戏-发射子弹.mix | 2 +- .../经典游戏复刻/G2-1-飞机游戏-显示得分.mix | 2 +- .../经典游戏复刻/G2-1-飞机游戏-显示敌机.mix | 2 +- .../经典游戏复刻/G2-1-飞机游戏-显示飞机.mix | 2 +- .../经典游戏复刻/G2-2-飞机游戏-消灭敌机.mix | 2 +- .../经典游戏复刻/G2-2-飞机游戏-移动音效.mix | 2 +- .../经典游戏复刻/G2-2-飞机游戏-移动飞机.mix | 2 +- .../经典游戏复刻/G2-2-飞机游戏-结束游戏.mix | 2 +- .../八年级/第三单元/3-1 网络获取时间.mix | 2 +- .../八年级/第三单元/3-2 蓝牙数据传输主机.mix | 2 +- .../八年级/第三单元/3-2 蓝牙数据传输从机.mix | 2 +- .../八年级/第二单元/2-1 采集环境声音.mix | 2 +- .../八年级/第二单元/2-2 红外测距测试.mix | 2 +- .../八年级/第二单元/2-3 模拟倒车雷达.mix | 2 +- .../八年级/第二单元/2-5 RFID读卡测试.mix | 2 +- .../八年级/第二单元/2-6 RFID写卡充值.mix | 2 +- .../八年级/第五单元/5-1 图书馆自动开关门.mix | 2 +- .../八年级/第五单元/5-2 图书馆人数统计.mix | 2 +- .../八年级/第五单元/5-3 图书馆满员提示.mix | 2 +- .../八年级/第五单元/5-4 图书馆模拟温度控制.mix | 2 +- .../八年级/第四单元/4-1 本地控制单路灯.mix | 2 +- .../八年级/第四单元/4-2 定时上报光照强度.mix | 2 +- .../八年级/第四单元/4-3 订阅光照强度.mix | 2 +- .../八年级/第四单元/4-3 远程控制路灯.mix | 2 +- .../八年级/第四单元/4-4 定时器多路灯上报光照强度.mix | 2 +- .../第四单元/4-4 定时器多路灯上报光照强度书中写法.mix | 2 +- .../八年级/第四单元/4-5 同时控制多路灯.mix | 2 +- .../八年级/第四单元/4-5 同时控制多路灯书中写法.mix | 2 +- boards/default/micropython_esp32c2/index.xml | 2 +- ...le.1cce2904.js => main.bundle.62ae672f.js} | 2 +- boards/default/micropython_esp32c3/index.xml | 2 +- ...le.6027d445.js => main.bundle.5cf8a753.js} | 4 +-- .../build/Mixgo_Sowl_lib-v1.27.0.bin | Bin 2364912 -> 2495296 bytes .../micropython_esp32c5/build/lib/map.json | 15 +++++++- .../build/lib/mixgo_sowl.py | 2 +- .../micropython_esp32c5/build/lib/sowl_tts.py | 32 ++++++++++++++++++ .../micropython_esp32c5/build/lib/ws2812x.py | 4 +-- .../default/micropython_esp32c5/config.json | 4 +-- boards/default/micropython_esp32c5/index.xml | 2 +- ...le.2b743a90.js => main.bundle.9760b8e6.js} | 2 +- boards/default/micropython_esp32s2/index.xml | 2 +- ...le.3f76b5d3.js => main.bundle.e909955e.js} | 2 +- .../default/micropython_esp32s3/config.json | 6 ++-- .../MixGo Nova/01-1-快速入门-你好世界.mix | 2 +- .../MixGo Nova/01-2-快速入门-你好世界2.mix | 2 +- .../MixGo Nova/02-1-快速入门-跳动的心.mix | 2 +- .../MixGo Nova/02-2-快速入门-为你心动.mix | 2 +- .../MixGo Nova/03-1-快速入门-心随我动.mix | 2 +- .../MixGo Nova/03-2-快速入门-心随我动2.mix | 2 +- .../MixGo Nova/04-1-快速入门-流动的灯.mix | 2 +- .../MixGo Nova/04-2-快速入门-流动的灯2.mix | 2 +- .../MixGo Nova/05-1-过程控制-双键开关.mix | 2 +- .../MixGo Nova/05-2-过程控制-单键开关.mix | 2 +- .../MixGo Nova/05-3-过程控制-IPO概念.mix | 2 +- .../MixGo Nova/06-1-过程控制-声音采集.mix | 2 +- .../MixGo Nova/06-2-过程控制-看见声音.mix | 2 +- .../MixGo Nova/07-1-过程控制-光强采集.mix | 2 +- .../MixGo Nova/07-2-过程控制-自动补光.mix | 2 +- .../MixGo Nova/08-1-过程控制-接近检测.mix | 2 +- .../MixGo Nova/08-2-过程控制-入侵报警.mix | 2 +- .../MixGo Nova/09-1-输入输出-加速度.mix | 2 +- .../MixGo Nova/09-2-输入输出-平衡仪.mix | 2 +- .../MixGo Nova/10-1-输入输出-温湿度.mix | 2 +- .../MixGo Nova/10-2-输入输出-地磁金属探测.mix | 2 +- .../MixGo Nova/11-1-输入输出-数字触摸.mix | 2 +- .../MixGo Nova/11-2-输入输出-模拟触摸.mix | 2 +- .../MixGo Nova/12-1-输入输出-实时时钟.mix | 2 +- .../MixGo Nova/12-2-输入输出-实时时钟2.mix | 2 +- .../MixGo Nova/13-1-逻辑计算-手速测试.mix | 2 +- .../MixGo Nova/13-2-逻辑计算-手速测试2.mix | 2 +- .../MixGo Nova/14-1-逻辑计算-反应测试.mix | 2 +- .../MixGo Nova/14-2-逻辑计算-反应测试2.mix | 2 +- .../MixGo Nova/15-1-逻辑计算-简单打地鼠.mix | 2 +- .../MixGo Nova/15-2-逻辑计算-计时打地鼠.mix | 2 +- .../MixGo Nova/16-1-逻辑计算-开始打地鼠.mix | 2 +- .../MixGo Nova/16-2-逻辑计算-循环打地鼠.mix | 2 +- .../MixGo Nova/17-0-复杂控制-非中断效果.mix | 2 +- .../MixGo Nova/17-1-复杂控制-双键中断.mix | 2 +- .../MixGo Nova/17-2-复杂控制-单键中断.mix | 2 +- .../MixGo Nova/18-1-复杂控制-定时计时.mix | 2 +- .../MixGo Nova/18-2-复杂控制-循环计时.mix | 2 +- .../MixGo Nova/19-1-复杂控制-多线程.mix | 2 +- .../MixGo Nova/19-2-复杂控制-多线程与中断.mix | 2 +- .../MixGo Nova/20-1-复杂控制-异常.mix | 2 +- .../MixGo Nova/20-2-复杂控制-异常处理.mix | 2 +- .../MixGo Nova/21-1-射频识别-读取测试.mix | 2 +- .../MixGo Nova/21-2-射频识别-读取卡号.mix | 2 +- .../MixGo Nova/22-1-射频识别-写卡测试.mix | 2 +- .../MixGo Nova/22-2-射频识别-持续写卡.mix | 2 +- .../MixGo Nova/23-1-蓝牙通讯-主机模式.mix | 2 +- .../MixGo Nova/23-1-蓝牙通讯-从机模式.mix | 2 +- .../MixGo Nova/24-1-无线广播-通讯测试.mix | 2 +- .../MixGo Nova/24-2-无线广播-防丢检测.mix | 2 +- .../MixGo Nova/25-1-红外遥控-收发测试.mix | 2 +- .../MixGo Nova/25-2-红外遥控-遥控点灯.mix | 2 +- .../MixGo Nova/26-1-红外遥控-学习编码.mix | 2 +- .../MixGo Nova/26-2-红外遥控-万能遥控.mix | 2 +- .../MixGo Nova/27-1-红外接近-挥手速度.mix | 2 +- .../MixGo Nova/27-2-红外接近-双挥手速度.mix | 2 +- .../MixGo Nova/28-1-红外接近-双门人数统计.mix | 2 +- .../MixGo Nova/28-2-红外接近-单门人数统计.mix | 2 +- .../29-1-物联网-简单数据定时上报.mix | 2 +- .../29-2-物联网-复杂数据定时上报.mix | 2 +- .../30-1-物联网-简单数据按需上报.mix | 2 +- .../30-2-物联网-高级数据按需上报.mix | 2 +- .../MixGo Nova/31-1-物联网-单主题数据订阅.mix | 2 +- .../31-2-物联网-单主题数据订阅2.mix | 2 +- .../MixGo Nova/32-1-物联网-多主题数据订.mix | 2 +- .../MixGo Nova/32-2-物联网-多主题数据订2.mix | 2 +- .../MixGo Nova/33-1-课堂互动-自由签到.mix | 2 +- .../MixGo Nova/33-2-课堂互动-按需签到.mix | 2 +- .../MixGo Nova/34-1-课堂互动-一人抢答.mix | 2 +- .../MixGo Nova/34-2-课堂互动-多人抢答.mix | 2 +- .../MixGo Nova/35-1-课堂互动-单选答题.mix | 2 +- .../MixGo Nova/35-2-课堂互动-多选答题.mix | 2 +- .../MixGo Nova/36-1-课堂互动-点名答题.mix | 2 +- .../MixGo Nova/36-2-课堂互动-多人点答.mix | 2 +- .../MixGo Nova/37-1-文件操作-列出文件.mix | 2 +- .../MixGo Nova/37-2-文件操作-列出文件2.mix | 2 +- .../MixGo Nova/38-1-文件操作-文件读写.mix | 2 +- .../MixGo Nova/38-2-文件操作-文件读写2.mix | 2 +- .../MixGo Nova/39-1-文件操作-录音播放.mix | 2 +- .../MixGo Nova/39-1-文件操作-录音播放2.mix | 2 +- .../MixGo Nova/40-1-文件操作-SD录音播放2.mix | 2 +- .../MixGo Nova/40-2-文件操作-SD采集重现.mix | 2 +- .../八年级代码/10-2 订阅主题(欢迎提示).mix | 2 +- .../八年级代码/12-2-1 舵机转动.mix | 2 +- .../八年级代码/12-2-2 刷卡开门.mix | 2 +- .../八年级代码/12-2-3 模拟刷卡开门.mix | 2 +- .../八年级代码/12-3 刷卡开门显示姓名.mix | 2 +- .../八年级代码/13-1 远程门铃演示.mix | 2 +- .../八年级代码/13-2-1 发送按下门铃.mix | 2 +- .../八年级代码/13-2-2 响应按下门铃.mix | 2 +- .../八年级代码/13-3 响应按下门铃.mix | 2 +- .../八年级代码/14-2-2 响应远程开锁.mix | 2 +- .../八年级代码/15-2 利用摄像头实现人脸识别.mix | 2 +- .../八年级代码/15-3 刷脸开锁.mix | 2 +- .../八年级代码/15-4 刷脸签到.mix | 2 +- .../八年级代码/17-1 发送花瓶数据.mix | 2 +- .../八年级代码/17-2 获取天气数据.mix | 2 +- .../八年级代码/17-2 获取天气数据2.mix | 2 +- .../八年级代码/17-3 发送花瓶数据 .mix | 2 +- .../八年级代码/20-1 模拟灌溉.mix | 2 +- .../八年级代码/20-2 模拟补光.mix | 2 +- .../八年级代码/20-3 综合控制.mix | 2 +- .../八年级代码/21-2 文物保护.mix | 2 +- .../八年级代码/21-3 危险提示.mix | 2 +- .../八年级代码/22-2 身高记录仪系统测量端.mix | 2 +- .../八年级代码/22-21 手速记录仪系统测量端.mix | 2 +- .../八年级代码/23-2 智能药盒.mix | 2 +- .../八年级代码/24-2 水果计数.mix | 2 +- .../八年级代码/25-2 红外反射探究.mix | 2 +- .../八年级代码/26-1 获取系统ID.mix | 2 +- .../八年级代码/3-1 显示声音强度.mix | 2 +- .../八年级代码/3-2 显示声音波形.mix | 2 +- .../八年级代码/3-3 显示声音大小.mix | 2 +- .../八年级代码/3-4 显示光照大小.mix | 2 +- .../八年级代码/30-2-1 安全门锁发送.mix | 2 +- .../八年级代码/30-2-2 安全门锁接收.mix | 2 +- .../八年级代码/4-3-1 楼道灯演示.mix | 2 +- .../八年级代码/4-3-2 教室光照监测.mix | 2 +- .../八年级代码/5-2 远程开关灯.mix | 2 +- .../八年级代码/5-3 远程监测物联花卉.mix | 2 +- .../八年级代码/8-蓝牙翻页笔.mix | 2 +- .../八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix | 2 +- .../八年级代码/9-3 探讨互联网协议的局限性演示.mix | 2 +- .../六年级代码/10-4 填充体验.mix | 2 +- .../六年级代码/11-3 恒亮灯演示.mix | 2 +- .../六年级代码/11-4 模拟小车避障演示.mix | 2 +- .../六年级代码/13-3-1 音乐播放体验.mix | 2 +- .../六年级代码/13-3-2 RFID模块体验.mix | 2 +- .../六年级代码/13-4-2 RFID模块体验.mix | 2 +- .../六年级代码/15-2 温湿度模块体验(需要改对应PPT).mix | 2 +- .../六年级代码/18-1 事件产生并感知用户输入.mix | 2 +- .../六年级代码/18-2 计算反应时间.mix | 2 +- .../六年级代码/18-3 显示反应时间.mix | 2 +- .../六年级代码/18-4 随机时间反应.mix | 2 +- .../六年级代码/19-1 随机时间随机灯反应.mix | 2 +- .../六年级代码/19-2 等待用户输入.mix | 2 +- .../六年级代码/19-3 输出用户反应入.mix | 2 +- .../六年级代码/19-4 换更习惯的按键.mix | 2 +- .../六年级代码/2-1 开关灯演示.mix | 2 +- .../六年级代码/2-1-2 开关灯演示.mix | 2 +- .../六年级代码/2-2 三色变光灯演示.mix | 2 +- .../六年级代码/2-2-2 可调灯演示.mix | 2 +- .../六年级代码/2-3 交通灯控制演示.mix | 2 +- .../六年级代码/20 电梯系统模拟.mix | 2 +- .../六年级代码/20-5 烟雾报警模拟.mix | 2 +- .../六年级代码/21-2 控制电梯运行到指定楼层.mix | 2 +- .../六年级代码/22-2 电梯开门.mix | 2 +- .../六年级代码/22-3 电梯超载.mix | 2 +- .../六年级代码/24-3 自动熄灭转向灯.mix | 2 +- .../六年级代码/25-3 安全带未系提醒.mix | 2 +- .../六年级代码/25-4 安全带未系提醒2.mix | 2 +- .../六年级代码/26-3 倒车雷达演示程序.mix | 2 +- .../六年级代码/27-3 模拟定速巡航.mix | 2 +- .../六年级代码/29-2 错误检测予提示.mix | 2 +- .../六年级代码/3-1 把车推到目的地游戏.mix | 2 +- .../六年级代码/3-2 自动把车推到目的地游戏.mix | 2 +- .../六年级代码/3-3 改变机器人距离和速度体验.mix | 2 +- .../六年级代码/4-2 声控灯演示.mix | 2 +- .../六年级代码/4-2 自动门演示.mix | 2 +- .../六年级代码/5-1 看见声音演示.mix | 2 +- .../六年级代码/5-4 声控灯阈值体验.mix | 2 +- .../六年级代码/6-1 开关量.mix | 2 +- .../六年级代码/6-3 非体验.mix | 2 +- .../六年级代码/6-3-2 非体验.mix | 2 +- .../六年级代码/7-1 与运算.mix | 2 +- .../六年级代码/7-3 楼道灯体验.mix | 2 +- .../六年级代码/8-1 或运算.mix | 2 +- .../六年级代码/8-3 自动门加手动体验.mix | 2 +- .../六年级代码/9-1 开关灯体验.mix | 2 +- .../六年级代码/9-1 触控灯体验.mix | 2 +- .../六年级代码/9-2 可调灯体验.mix | 2 +- .../六年级代码/9-4-1 光标手动控制演示.mix | 2 +- .../六年级代码/9-4-2 光标自动控制演示.mix | 2 +- .../学期1/1-0-1 起始课-你好米思齐.mix | 2 +- .../学期1/1-1-1 心随我动-一秒一次心跳.mix | 2 +- .../学期1/1-1-2 心随我动-滚动显示加心跳.mix | 2 +- .../学期1/1-2-1 心随我动-按着心跳.mix | 2 +- .../1-2-2 心随我动-不同按钮不同速度心跳.mix | 2 +- .../学期1/1-3-1 心随我动-按下开始心跳.mix | 2 +- .../学期1/1-3-2 心随我动-按下改变心跳.mix | 2 +- .../学期1/1-4-1 心随我动-双键控制心跳.mix | 2 +- .../学期1/1-4-2 心随我动-IPO单键控制心跳.mix | 2 +- .../学期1/2-1-1 灯随我控-双键手动开关灯.mix | 2 +- .../学期1/2-1-2 灯随我控-单键手动开关灯.mix | 2 +- .../学期1/2-2-1 灯随我控-打开自动熄灭灯.mix | 2 +- .../学期1/2-2-2 灯随我控-按下延时熄灭灯.mix | 2 +- .../学期1/2-3-1 灯随我控-声音大小测试.mix | 2 +- .../学期1/2-3-2 灯随我控-声控灯.mix | 2 +- .../2-4-1 灯随我控-简单声音控制楼道灯.mix | 2 +- .../学期1/2-4-2 灯随我控-加光线检测楼道灯.mix | 2 +- .../学期1/2-5-0 灯随我控-滑动触摸测试.mix | 2 +- .../学期1/2-5-1 灯随我控-简单滑动可调台灯.mix | 2 +- .../学期1/2-5-2 灯随我控-改进滑动可调台灯.mix | 2 +- .../学期1/2-5-3 灯随我控-滑动可调保持台灯.mix | 2 +- .../学期1/2-6-1 灯随我控-恒亮灯.mix | 2 +- .../学期1/2-6-2 灯随我控-改进恒亮灯.mix | 2 +- .../学期1/3-1-1 眼疾手快-循环等待用户输入.mix | 2 +- .../学期1/3-1-2 眼疾手快-记录反应时间.mix | 2 +- .../学期1/3-2-1 眼疾手快-计算反应时间.mix | 2 +- .../学期1/3-2-2 眼疾手快-随机时间反应.mix | 2 +- .../3-3-1 眼疾手快-随机时间随机灯反应.mix | 2 +- .../学期1/3-3-2 眼疾手快-等待用户输入.mix | 2 +- .../学期1/3-4-1 眼疾手快-输出用户反应.mix | 2 +- .../学期1/3-4-2 眼疾手快-换别的按键.mix | 2 +- .../学期1/4-1-1 四平八稳-加速度测试.mix | 2 +- .../学期1/4-1-2 四平八稳-LED屏幕测试.mix | 2 +- .../学期1/4-1-3 四平八稳-X轴平衡仪.mix | 2 +- .../学期1/4-2-1 四平八稳-双轴平衡仪.mix | 2 +- .../学期1/4-2-2 四平八稳-双轴约束平衡仪.mix | 2 +- .../学期1/4-3-1 四平八稳-平衡挑战.mix | 2 +- .../学期1/4-3-2 四平八稳-可重来的平衡挑战.mix | 2 +- .../学期1/4-4-1 四平八稳-计时平衡大挑战.mix | 2 +- .../4-4-2 四平八稳-随机难度计时平衡大挑战.mix | 2 +- .../学期2/1-1-0 分秒必争-延时误差分析.mix | 2 +- .../学期2/1-1-1 分秒必争-定制中断测试.mix | 2 +- .../学期2/1-1-2 分秒必争-简单计时器.mix | 2 +- .../学期2/1-2-1 分秒必争-可开始暂停计时器.mix | 2 +- .../学期2/1-2-2 分秒必争-循环使用计时器.mix | 2 +- .../学期2/1-3-1 分秒必争-精度改变计时器.mix | 2 +- .../1-3-2 分秒必争-显示改变精度计时器.mix | 2 +- .../学期2/1-4-1 分秒必争-抢7游戏.mix | 2 +- .../学期2/1-4-2 分秒必争-可变难度抢7游戏.mix | 2 +- .../学期2/2-1-1 井然有序-一向路口红绿灯.mix | 2 +- .../学期2/2-1-2 井然有序-十字路口红绿灯.mix | 2 +- .../学期2/2-2-1 井然有序-计时红绿灯.mix | 2 +- .../学期2/2-2-2 井然有序-计时闪烁红绿灯.mix | 2 +- .../学期2/2-3-1 井然有序-无障碍红绿灯.mix | 2 +- .../2-3-2 井然有序-无障碍红绿灯有带黄色.mix | 2 +- .../学期2/2-4-1 井然有序-受控红绿灯.mix | 2 +- .../2-4-2 井然有序-有约束的受控红绿灯.mix | 2 +- .../学期2/3-1-1 声音重现-看见声音.mix | 2 +- .../学期2/3-1-2 声音重现-正向看见声音.mix | 2 +- .../学期2/3-2-1 声音重现-文件写入.mix | 2 +- .../学期2/3-2-2 声音重现-文件读写.mix | 2 +- .../学期2/3-3-1 声音重现-录音采集.mix | 2 +- .../学期2/3-3-2 声音重现-录音重现.mix | 2 +- .../学期2/3-4-1 声音重现-自由录音.mix | 2 +- .../学期2/3-4-2 声音重现-自由重现.mix | 2 +- .../学期2/4-1-1 巧接金雨-显示移动篮子.mix | 2 +- .../学期2/4-1-2 巧接金雨-手动移动篮子.mix | 2 +- .../学期2/4-1-3 巧接金雨-移动范围控制.mix | 2 +- .../学期2/4-2-1 巧接金雨-显示金豆下落.mix | 2 +- .../学期2/4-2-2 巧接金雨-手动启动游戏.mix | 2 +- .../学期2/4-3-1 巧接金雨-判断游戏到时结束.mix | 2 +- .../学期2/4-3-2 巧接金雨-判断是否接住.mix | 2 +- .../4-4-1 巧接金雨-计算并显示最终得分.mix | 2 +- .../4-4-2 巧接金雨-改用传感器控制游戏.mix | 2 +- .../学期3/1-1-1 晨钟暮鼓-显示时间字符串.mix | 2 +- .../1-1-2 晨钟暮鼓-更好显示时间字符串.mix | 2 +- .../学期3/1-2-1 晨钟暮鼓-实时时钟.mix | 2 +- .../学期3/1-2-2 晨钟暮鼓-可设定实时时钟.mix | 2 +- .../学期3/1-3-1 晨钟暮鼓-按钮显示实时时钟.mix | 2 +- .../学期3/1-3-2 晨钟暮鼓-按钮设置实时时钟.mix | 2 +- .../学期3/1-4-1 晨钟暮鼓-定点闹铃.mix | 2 +- .../学期3/1-4-2 晨钟暮鼓-多个定点闹铃.mix | 2 +- .../学期3/2-1-1 红外探秘-红外接近测试.mix | 2 +- .../学期3/2-1-2 红外探秘-红外接近报警.mix | 2 +- .../2-2-1 红外探秘-单传感器挥手速度测试.mix | 2 +- .../2-2-2 红外探秘-双传感器挥手速度测试.mix | 2 +- .../2-3-1 红外探秘-出入口分开公园人数统计.mix | 2 +- .../2-3-2 红外探秘-出入口统一公园人数统计.mix | 2 +- .../2-4-1 红外探秘-单探头倒车雷达模拟.mix | 2 +- .../2-4-2 红外探秘- 双探头倒车雷达模拟.mix | 2 +- .../学期3/3-1-1 遥相呼应-无线广播测试.mix | 2 +- .../学期3/3-1-2 遥相呼应-无线遥控灯.mix | 2 +- .../学期3/3-2-1 遥相呼应-防丢测试.mix | 2 +- .../学期3/3-2-2 遥相呼应-带查找防丢测试.mix | 2 +- .../学期3/3-3-1 遥相呼应-有线按键翻页.mix | 2 +- .../学期3/3-3-2 遥相呼应-有线鼠标模拟.mix | 2 +- .../学期3/3-4-1 遥相呼应-无线按键翻页.mix | 2 +- .../学期3/3-4-2 遥相呼应-无线鼠标模拟.mix | 2 +- .../学期3/4-1-1 蓝牙通讯-无线透传从机.mix | 2 +- .../学期3/4-1-2 蓝牙通讯-无线透传主机.mix | 2 +- .../学期3/4-2-1 蓝牙通讯-蓝牙键鼠翻页.mix | 2 +- .../学期3/4-2-2 蓝牙通讯-蓝牙键鼠点击.mix | 2 +- .../学期3/5-1 高级无线通讯-带序号消息.mix | 2 +- .../学期3/5-2 高级无线通讯-带回显消息发送.mix | 2 +- .../学期3/5-3 高级无线通讯-可靠消息发送.mix | 2 +- .../5-4 高级无线通讯-消息发送的异常处理.mix | 2 +- .../学期3/5-5 高级无线通讯-带反馈消息发送.mix | 2 +- .../学期4/1-1-1 物联网入门-网络NTP测试.mix | 2 +- .../学期4/1-1-2 物联网入门-网络时钟.mix | 2 +- .../学期4/1-2-1 物联网入门-网络实时天气.mix | 2 +- .../学期4/1-2-2 物联网入门-网络天气预报.mix | 2 +- .../学期4/1-3-1 物联网入门-光强定时上报.mix | 2 +- .../学期4/1-3-2 物联网入门-环境定时上报.mix | 2 +- .../学期4/1-4-1 物联网入门-按键报警上报.mix | 2 +- .../学期4/1-4-2 物联网入门-曝光报警上报.mix | 2 +- .../学期4/2-1-1 物联网进阶- 远程开关灯.mix | 2 +- .../2-1-2 物联网进阶-单独控制远程开关灯.mix | 2 +- .../2-2-1 物联网进阶-下发复杂数据远程开关灯.mix | 2 +- .../2-2-2 物联网进阶-多类型复杂数据下发.mix | 2 +- .../2-3-1 物联网进阶-远程控制欢迎屏幕.mix | 2 +- .../2-3-2 物联网进阶-远程欢迎屏幕改进.mix | 2 +- .../学期4/2-4-1 物联网进阶-下发主题的使用.mix | 2 +- .../2-4-2 物联网进阶-板子控制板子开关灯.mix | 2 +- ...-1-1 物联网精通-加入异常处理的物联网应用.mix | 2 +- .../3-1-2 物联网精通-加入看门狗的物联网应用.mix | 2 +- .../3-2-1 物联网精通-综合使用异常和看门狗.mix | 2 +- .../3-2-2 物联网精通- MQTT人脸识别测试.mix | 2 +- .../3-2-3 物联网精通- MQTT人脸识别开锁.mix | 2 +- .../学期4/3-3-1 物联网精通- 显示姓名开锁.mix | 2 +- .../学期4/3-3-2 物联网精通- 上报开锁信息.mix | 2 +- .../3-4-1 物联网精通- 不联网开门模式切换.mix | 2 +- .../学期4/3-4-2 物联网精通- 多模式开门.mix | 2 +- .../学期4/4-1-1 课堂互动-自由签到.mix | 2 +- .../学期4/4-1-2 课堂互动-按需签到.mix | 2 +- .../学期4/4-2-1 课堂互动-一人抢答.mix | 2 +- .../学期4/4-2-2 课堂互动-多人抢答.mix | 2 +- .../学期4/4-3-1 课堂互动-单选答题.mix | 2 +- .../学期4/4-3-2 课堂互动-多选答题.mix | 2 +- .../学期4/4-4-1 课堂互动-点名答题.mix | 2 +- .../学期4/4-4-2 课堂互动-多人点答.mix | 2 +- .../学期5/1-1-1 语音识别-语音识别开关灯.mix | 2 +- .../学期5/1-1-2 语音识别-关闭回复开关灯.mix | 2 +- .../学期5/1-2-1 语音识别-学习唤醒词.mix | 2 +- .../学期5/1-2-2 语音识别-学习命令词.mix | 2 +- .../学期5/1-3-1 语音识别-自动唤醒.mix | 2 +- .../学期5/1-3-2 语音识别-改进自动唤醒.mix | 2 +- .../学期5/1-4-1 语音识别-按键语音播报.mix | 2 +- .../学期5/1-4-2 语音识别-语音交互播报.mix | 2 +- .../学期5/2-1-1 简易相机-拍照并保存文件.mix | 2 +- .../学期5/2-1-2 简易相机-显示图片文件名.mix | 2 +- .../学期5/2-2-1 简易相机-拍照支持回放.mix | 2 +- .../学期5/2-2-2 简易相机-拍照回放模式切换.mix | 2 +- .../学期5/2-3-1 简易相机-按键选择文件.mix | 2 +- .../学期5/2-3-2 简易相机-限定按键选择.mix | 2 +- .../学期5/2-4-1 简易相机-显示选定文件.mix | 2 +- .../学期5/2-4-2 简易相机-删除选定文件.mix | 2 +- .../学期5/3-1-1 图像识别-二维码识别.mix | 2 +- .../学期5/3-1-2 图像识别-二维码识别改进.mix | 2 +- .../学期5/3-2-1 图像识别-猫脸检测.mix | 2 +- .../学期5/3-2-2 图像识别-猫脸检测改进.mix | 2 +- .../学期5/3-3-1 图像识别-颜色检测.mix | 2 +- .../学期5/3-3-2 图像识别-颜色检测改进.mix | 2 +- .../学期5/3-4-1 图像识别-人数检测.mix | 2 +- .../学期5/3-4-2 图像识别-人脸检测.mix | 2 +- .../学期5/4-1-1 人脸识别-录入人脸.mix | 2 +- .../学期5/4-1-2 人脸识别-删除人脸.mix | 2 +- .../学期5/4-2-1 人脸识别-录入人脸姓名.mix | 2 +- .../学期5/4-2-2 人脸识别-识别人脸姓名.mix | 2 +- .../学期5/4-3-1 人脸识别-人脸签到.mix | 2 +- .../学期5/4-3-2 人脸识别-人脸签到改进.mix | 2 +- .../学期5/4-4-1 图像识别-物体识别.mix | 2 +- .../学期5/4-4-2 图像识别-物体翻译.mix | 2 +- .../学期6/1-1-1 智能门锁-RFID读取测试.mix | 2 +- .../学期6/1-1-2 智能门锁-RFID优雅读卡.mix | 2 +- .../学期6/1-2-1 智能门锁-RFID写卡测试.mix | 2 +- .../学期6/1-2-2 智能门锁-手动RFID写卡.mix | 2 +- .../学期6/1-3-1 智能门锁-刷卡开门.mix | 2 +- .../学期6/1-3-2 智能门锁-安全刷卡开门.mix | 2 +- .../学期6/1-4-1 智能门锁-添加刷卡信息.mix | 2 +- .../学期6/1-4-2 智能门锁-带管理刷卡门.mix | 2 +- .../学期6/2-1-1 安全驾驶-微波雷达防盗.mix | 2 +- .../学期6/2-1-2 安全驾驶-微波雷达欢迎灯.mix | 2 +- .../学期6/2-2-1 安全驾驶-RFID汽车钥匙.mix | 2 +- .../学期6/2-2-2 安全驾驶-记录汽车状态.mix | 2 +- .../学期6/2-3-1 安全驾驶-安全带未系提醒.mix | 2 +- .../2-3-2 安全驾驶-带人体检测安全带未系提醒.mix | 2 +- .../学期6/2-4-1 安全驾驶-转向灯.mix | 2 +- .../学期6/2-4-2 安全驾驶-自动回位转向灯.mix | 2 +- .../学期6/3-1-1 数字公交-手动切换站号.mix | 2 +- .../学期6/3-1-2 数字公交-自动切换站号.mix | 2 +- .../3-1-21 数字公交-自动切换站号站台发射.mix | 2 +- .../学期6/3-2-1 数字公交-公交卡充值.mix | 2 +- .../3-2-2 数字公交-不同数额公交卡充值.mix | 2 +- .../学期6/3-3-1 数字公交-单刷卡机扣费.mix | 2 +- .../3-3-2 数字公交-防重复单刷卡机扣费.mix | 2 +- .../学期6/3-4-1 数字公交-实时公交车辆端.mix | 2 +- .../学期6/3-4-2 数字公交-实时公交站台端.mix | 2 +- .../4-1-1 智慧车场-单入口空余车位显示.mix | 2 +- .../4-1-2 智慧车场-单入口空余车位显示含时间.mix | 2 +- .../学期6/4-2-1 智慧车场-空余车位显示入口.mix | 2 +- .../学期6/4-2-2 智慧车场-空余车位显示出口.mix | 2 +- .../学期6/4-3-1 智慧车场-显示停留时间入口.mix | 2 +- .../学期6/4-3-2 智慧车场-显示停留时间出口.mix | 2 +- .../学期6/4-4-1 智慧车场-显示入库时间入口.mix | 2 +- .../学期6/4-4-2 智慧车场-显示入库时间出库.mix | 2 +- .../学期7/1-1-1 生日蜡烛-点蜡烛.mix | 2 +- .../学期7/1-1-2 生日蜡烛-挨个点亮.mix | 2 +- .../学期7/1-2-1 生日蜡烛-蜡烛闪烁.mix | 2 +- .../学期7/1-2-2 生日蜡烛-闪烁改进.mix | 2 +- .../学期7/1-3-1 生日蜡烛-播放音乐.mix | 2 +- .../学期7/1-3-2 生日蜡烛-循环播放.mix | 2 +- .../学期7/1-4-1 生日蜡烛-吹蜡烛.mix | 2 +- .../学期7/1-4-2 生日蜡烛-吹蜡烛音乐.mix | 2 +- .../学期7/2-1-1 智能药盒-检测开启.mix | 2 +- .../学期7/2-1-2 智能药盒-检测关闭.mix | 2 +- .../学期7/2-2-1 智能药盒-记录开启时间.mix | 2 +- .../学期7/2-2-2 智能药盒-记录多次时间.mix | 2 +- .../学期7/2-3-1 智能药盒-单次提醒.mix | 2 +- .../学期7/2-3-2 智能药盒-多次提醒.mix | 2 +- .../学期7/2-4-1 智能药盒-吃药了不提醒单次.mix | 2 +- .../学期7/2-4-2 智能药盒-吃药了不提醒多次.mix | 2 +- .../学期7/3-1-1 电梯模拟-梯外呼叫.mix | 2 +- .../学期7/3-1-2 电梯模拟-呼叫运行.mix | 2 +- .../学期7/3-2-1 电梯模拟-开关梯门.mix | 2 +- .../学期7/3-2-2 电梯模拟-防夹关梯.mix | 2 +- .../学期7/3-3-1 电梯模拟-选择楼层.mix | 2 +- .../学期7/3-3-2 电梯模拟-选择运行.mix | 2 +- .../学期7/3-4-1 电梯模拟-梯内开关门.mix | 2 +- .../学期7/3-4-2 电梯模拟-梯内手动关门.mix | 2 +- .../学期7/4-1-1 飞机大战-显示飞机.mix | 2 +- .../学期7/4-1-2 飞机大战-移动飞机.mix | 2 +- .../学期7/4-2-1 飞机大战-发射子弹.mix | 2 +- .../学期7/4-2-2 飞机大战-加入音效.mix | 2 +- .../学期7/4-3-1 飞机大战-显示敌机.mix | 2 +- .../学期7/4-3-2 飞机大战-消灭敌机.mix | 2 +- .../学期7/4-4-1 飞机大战-显示得分.mix | 2 +- .../学期7/4-4-2 飞机大战-结束游戏.mix | 2 +- .../学期7/4-4-3 飞机大战-体感控制.mix | 2 +- .../学期8/1-1-1 外接旋钮-模拟输入测试.mix | 2 +- .../学期8/1-1-2 外接旋钮-参考电压应用.mix | 2 +- .../学期8/1-2-1 外接旋钮-可调台灯.mix | 2 +- .../学期8/1-2-2 外接旋钮-可调台灯2.mix | 2 +- .../学期8/1-3-1 外接旋钮-音量调节.mix | 2 +- .../学期8/1-3-2 外接旋钮-频率调节.mix | 2 +- .../学期8/1-4-1 外接旋钮-可调彩灯.mix | 2 +- .../学期8/1-4-2 外接旋钮-RGB效果.mix | 2 +- .../学期8/2-1-1 外接温度传感器-数字温度计.mix | 2 +- .../2-1-2 外接温度传感器-主控发热测试.mix | 2 +- .../2-2-1 外接温度传感器-模拟体温测量.mix | 2 +- .../2-2-2 外接温度传感器-显示温度曲线.mix | 2 +- .../2-3-1 外接超声波测距传感器-超声波测距.mix | 2 +- .../2-3-2 外接超声波测距传感器-倒车雷达.mix | 2 +- .../2-4-1 外接超声波测距传感器-挥拳速度测试.mix | 2 +- .../2-4-2 外接超声波测距传感器-平面扫面仪.mix | 2 +- .../3-1-1 外接电机驱动-步进电机恒速连续转.mix | 2 +- .../3-1-2 外接电机驱动-步进电机不同速度转.mix | 2 +- .../3-2-1 外接电机驱动-步进电机转不同角度.mix | 2 +- .../3-2-2 外接电机驱动-步进电机转不同速度.mix | 2 +- .../3-3-1 外接电机驱动-旋钮控制转动及速度.mix | 2 +- .../3-3-1 外接电机驱动-旋钮控制转动及速度2.mix | 2 +- .../学期8/3-4-1 外接电机驱动-旋钮控制方向.mix | 2 +- .../3-4-2 外接电机驱动-旋钮控制方向2.mix | 2 +- .../学期8/4-1-1 外接双红外测距-测距测试.mix | 2 +- .../学期8/4-1-2 外接双红外测距-入侵检测.mix | 2 +- .../4-2-1 外接双红外测距-单头挥手速度测量.mix | 2 +- .../4-2-2 外接双红外测距-双头挥手速度测量.mix | 2 +- ...-1 外接双红外测距-出入口分开公园人数统计.mix | 2 +- ...-2 外接双红外测距-出入口统一公园人数统计.mix | 2 +- .../4-4-1 外接双红外测距-单探头倒车雷达模拟.mix | 2 +- .../4-4-2 外接双红外测距-双探头倒车雷达模拟.mix | 2 +- .../学期9/1-1-1 外接按键-双按键开关灯.mix | 2 +- .../学期9/1-1-2 外接按键-单按键开关灯.mix | 2 +- .../1-2-1 外接按键-打地鼠等待用户按键输入.mix | 2 +- .../1-2-2 外接按键-打地鼠等待用户正确按键.mix | 2 +- ... 外接按键-打地鼠随机延时等待用户正确按键.mix | 2 +- ... 外接按键-打地鼠随机带时等待用户正确按键.mix | 2 +- .../1-4-1 外接按键-打地鼠计分限时游戏.mix | 2 +- .../1-4-2 外接按键-打地鼠可重玩计分限时游戏.mix | 2 +- .../学期9/2-1-1 外接彩灯-外接红绿灯.mix | 2 +- .../学期9/2-1-2 外接彩灯-按键红绿灯.mix | 2 +- .../学期9/2-2-1 外接彩灯-入侵灯光报警.mix | 2 +- .../学期9/2-2-2 外接彩灯-入侵声光报警.mix | 2 +- .../学期9/2-3-1 外接彩灯加电位器-呼吸灯.mix | 2 +- .../学期9/2-3-2 外接彩灯-白光呼吸灯.mix | 2 +- .../学期9/2-4-1 外接彩灯加电位器-可调台灯.mix | 2 +- .../2-4-2 外接彩灯加电位器-带开关可调台灯.mix | 2 +- .../3-1-1 外接颜色传感器-颜色传感器测试.mix | 2 +- .../3-1-2 外接颜色传感器-颜色传感器简单应用.mix | 2 +- .../学期9/3-2-1 外接微波传感器-人体感应灯.mix | 2 +- .../3-2-2 外接微波传感器-可变人体感应灯.mix | 2 +- .../学期9/3-3-1 外接舵机-按键开门.mix | 2 +- .../学期9/3-3-2 外接舵机+电位器-助力旋转.mix | 2 +- .../学期9/3-4-1 外接语音识别传感器-声控灯.mix | 2 +- .../3-4-2 外接语音识别传感器-语音交互.mix | 2 +- .../4-1-1 外接粉尘传感器-空气质量监测.mix | 2 +- .../4-1-2 外接粉尘传感器-空气监测曲线.mix | 2 +- .../4-2-1 外接四位数码管-随机数字显示.mix | 2 +- .../4-2-2 外接四位数码管-显示小数温度.mix | 2 +- .../4-3-1 外接气体传感器-显示气体参考值.mix | 2 +- .../4-3-2 外接数字气体传感器-显示气体参考值.mix | 2 +- .../4-4-1 外接称重传感器-称重传感器使用.mix | 2 +- .../学期9/4-4-2 外接称重传感器-称重播报.mix | 2 +- .../学期A/1-1-1 图像显示-实时显示.mix | 2 +- .../学期A/1-1-2 图像显示-截取显示.mix | 2 +- .../学期A/1-2-1 图像显示-显示图片.mix | 2 +- .../学期A/1-2-2 图像显示-截取显示.mix | 2 +- .../学期A/1-3-1 图像显示-旋转显示.mix | 2 +- .../学期A/1-3-2 图像显示-移动显示.mix | 2 +- .../学期A/1-4-1 图像显示-移动显示大图片.mix | 2 +- .../学期A/1-4-2 图像显示-居中显示大图片.mix | 2 +- .../学期A/2-1-1 数码相机-拍照保存.mix | 2 +- .../学期A/2-1-2 数码相机-四格拍照.mix | 2 +- .../学期A/2-2-1 数码相机-拍照回放.mix | 2 +- .../学期A/2-2-2 数码相机-列表显示.mix | 2 +- .../学期A/2-3-1 数码相机-列表选择.mix | 2 +- .../学期A/2-3-2 数码相机-限定选择.mix | 2 +- .../学期A/2-4-1 数码相机-显示照片.mix | 2 +- .../学期A/2-4-2 数码相机-删除照片.mix | 2 +- .../学期A/3-1-1 图像识别-二维码识别.mix | 2 +- .../学期A/3-1-2 图像识别-二维码识别进阶.mix | 2 +- .../学期A/3-2-1 图像识别-颜色识别.mix | 2 +- .../学期A/3-2-2 图像识别-颜色识别进阶.mix | 2 +- .../学期A/3-3-1 图像识别-人脸检测.mix | 2 +- .../学期A/3-3-2 图像识别-人检测.mix | 2 +- .../学期A/3-4-1 图像识别-物体分类.mix | 2 +- .../学期A/3-4-2 图像识别-物体分类进阶.mix | 2 +- .../学期A/4-1-1 人脸识别-录入人脸.mix | 2 +- .../学期A/4-1-2 人脸识别-录入改进.mix | 2 +- .../学期A/4-2-1 人脸识别-识别人脸.mix | 2 +- .../学期A/4-2-2 人脸识别-识别改进.mix | 2 +- .../学期A/4-3-1 人脸识别-手动录入.mix | 2 +- .../学期A/4-3-2 人脸识别-录入改进.mix | 2 +- .../学期A/4-4-1 人脸识别-刷脸签到.mix | 2 +- .../学期A/4-4-2 人脸识别-签到改进.mix | 2 +- .../3年级/0-1-1 你好世界-静态显示.mix | 2 +- .../3年级/0-1-2 你好世界-滚动显示.mix | 2 +- .../3年级/1-1-1 显示欢迎词-双行静态显示.mix | 2 +- .../3年级/1-1-2 显示欢迎词-双行动态显示.mix | 2 +- .../3年级/1-2-1 切换欢迎词-双行静态显示.mix | 2 +- .../3年级/1-2-2 切换欢迎词-双行动态显示.mix | 2 +- .../3年级/2-1-1 声控开关灯-开关灯.mix | 2 +- .../3年级/2-1-2 声控开关灯-延时灯.mix | 2 +- .../3年级/2-2-1 语音开关灯-开关灯.mix | 2 +- .../3年级/2-2-2 语音开关灯-自定义语音开关灯.mix | 2 +- .../3年级/2-3-1 语音交互灯-亮度可变灯.mix | 2 +- .../3年级/2-3-2 语音交互灯-命令词管理.mix | 2 +- .../3年级/3-1-1 按键开关门-双按键开关门.mix | 2 +- .../3年级/3-1-2 按键开关门-单按键开关门.mix | 2 +- .../3年级/3-2-1 靠近开关门-自动开门定时关门.mix | 2 +- .../3年级/3-2-2 靠近开关门-自动开门按需关门.mix | 2 +- .../3年级/3-3-1 刷卡开关门-读到卡开门.mix | 2 +- .../3年级/3-3-2 刷卡开关门-特定卡开门.mix | 2 +- .../3年级/3-4-1 人脸开关门-有人就开门.mix | 2 +- .../3年级/3-4-2 人脸开关门-人走才关门.mix | 2 +- .../3年级/4-1-1 实时时钟-实时显示时间.mix | 2 +- .../3年级/4-1-2 实时时钟-按键显示时间.mix | 2 +- .../3年级/4-1-3 实时时钟-按键显示时间变化.mix | 2 +- .../3年级/4-2-1 延时闹钟-10秒延时响铃.mix | 2 +- .../3年级/4-2-2 延时闹钟-10秒响铃进阶.mix | 2 +- .../3年级/4-3-1 定点闹钟-定点响铃.mix | 2 +- .../3年级/4-3-2 定点闹钟-多个定点响铃.mix | 2 +- .../3年级/5-1-1 简单红绿灯-单向路口红绿灯.mix | 2 +- .../3年级/5-1-2 简单红绿灯-多向路口红绿.mix | 2 +- .../3年级/5-2-1 计时红绿灯-计时红绿灯.mix | 2 +- .../3年级/5-2-2 计时红绿灯-计时红绿灯改进.mix | 2 +- .../3年级/5-3-1 无障碍红绿灯-红绿灯变化和声音同步.mix | 2 +- .../3年级/5-3-2 无障碍红绿灯-红绿灯计时和声音同步.mix | 2 +- .../3年级/6-1-1 声音大小获取-单次获取.mix | 2 +- .../3年级/6-1-2 声音大小获取-多次获取.mix | 2 +- .../3年级/6-2-1 声音大小显示-直线显示.mix | 2 +- .../3年级/6-2-2 声音大小显示-滚动显示.mix | 2 +- .../3年级/6-3-1 声音大小预警-单次预警.mix | 2 +- .../3年级/6-3-2 声音大小预警-平均预警.mix | 2 +- .../3年级/7-1 按键红绿灯.mix | 2 +- .../4年级/0-1-1 你好世界-传感显示.mix | 2 +- .../4年级/0-1-2 你好世界-优化显示.mix | 2 +- .../4年级/1-1-1 多档按键台灯-多键调节.mix | 2 +- .../4年级/1-1-2 多档按键台灯-单键调节.mix | 2 +- .../4年级/1-2-1 触摸可变台灯-简单触摸调节.mix | 2 +- .../4年级/1-2-2 触摸可变台灯-触摸调节优化.mix | 2 +- .../4年级/1-3-1 久坐提醒台灯-久坐自动熄灭.mix | 2 +- .../4年级/1-3-2 久坐提醒台灯-计时提醒熄灭.mix | 2 +- .../4年级/2-1-1 简单计时器-定时输出计时.mix | 2 +- .../4年级/2-1-2 简单计时器-按下开始计时.mix | 2 +- .../4年级/2-2-1 循环计时器-支持开始暂停.mix | 2 +- .../4年级/2-2-2 循环计时器-支持重新开始.mix | 2 +- .../4年级/2-3-1 反向计时器-可变时长.mix | 2 +- .../4年级/2-3-1 反向计时器-固定时长.mix | 2 +- .../4年级/3-1-1 红外感应入侵检测-接近报警.mix | 2 +- .../4年级/3-1-2 红外感应入侵检测-取消报警.mix | 2 +- .../4年级/3-2-1 微波感应入侵检测-移动侦测报警.mix | 2 +- .../4年级/3-2-2 微波感应入侵检测-侦测距离改变.mix | 2 +- .../4年级/3-3-1 综合感应入侵检测-声音震动报警.mix | 2 +- .../4年级/3-3-2 综合感应入侵检测-自定义报警.mix | 2 +- .../4年级/4-1-1 简单手速测试-按下抬起计时.mix | 2 +- .../4年级/4-1-2 简单手速测试-两次按下计时.mix | 2 +- .../4年级/4-2-1 单灯反应测试-亮灯按下计时.mix | 2 +- .../4年级/4-2-2 单灯反应测试-随机亮灯计时.mix | 2 +- .../4年级/4-3-1 双灯反应测试-上灯上键计时.mix | 2 +- .../4年级/4-3-2 双灯反应测试-上灯下键计时.mix | 2 +- .../4年级/5-1-1 平衡测试仪-单轴水平.mix | 2 +- .../4年级/5-1-2 平衡测试仪-双轴水平.mix | 2 +- .../4年级/5-2-1 平衡大挑战-碰到边缘失败.mix | 2 +- .../4年级/5-2-2 平衡大挑战-失败后可重来.mix | 2 +- .../4年级/5-3-1 计时平衡赛-实现平衡时长.mix | 2 +- .../4年级/5-3-2 计时平衡赛-开始位置随机.mix | 2 +- .../4年级/6-1-1 篮子移动-左右移动.mix | 2 +- .../4年级/6-1-2 篮子移动-受限移动.mix | 2 +- .../4年级/6-2-1 福豆下落-同步动画.mix | 2 +- .../4年级/6-2-2 福豆下落-开始设置.mix | 2 +- .../4年级/6-3-1 福分计算-判断是否接住.mix | 2 +- .../4年级/6-3-2 福分计算-计算最终得分.mix | 2 +- .../4年级/6-4 飞机大战.mix | 2 +- .../5年级/0-1-1 连接WIFI.mix | 2 +- .../5年级/0-1-2 NTP时钟.mix | 2 +- .../5年级/1-1-1 RFID读卡-简单读卡.mix | 2 +- .../5年级/1-1-2 RFID读卡-优化读卡.mix | 2 +- .../5年级/1-2-1 刷卡开门-刷卡就开.mix | 2 +- .../5年级/1-2-2 刷卡开门-限卡开门.mix | 2 +- .../5年级/1-3-1 刷卡管理-加入新卡.mix | 2 +- .../5年级/1-3-2 刷卡管理-添加删除.mix | 2 +- .../5年级/2-1-1 远程监测器-环境监测.mix | 2 +- .../5年级/2-1-2 远程监测器-优化显示.mix | 2 +- .../5年级/2-1-2 远程监测器-优化显示2.mix | 2 +- .../5年级/2-2-1 无线遥控灯-无线开关.mix | 2 +- .../5年级/2-2-2 无线遥控灯-光感遥控.mix | 2 +- .../5年级/2-3-1 防丢提示器-按下响铃.mix | 2 +- .../5年级/2-3-2 防丢提示器-丢失报警.mix | 2 +- .../5年级/3-1-1 网络时钟-NTP语音播报.mix | 2 +- .../5年级/3-1-2 网络时钟-NTP按需同步.mix | 2 +- .../5年级/3-2-1 网络天气-实时天气.mix | 2 +- .../5年级/3-2-2 网络天气-天气预报.mix | 2 +- .../5年级/4-1-1 物联网入门-光强定时上报.mix | 2 +- .../5年级/4-1-2 物联网入门-环境定时上报.mix | 2 +- .../5年级/4-2-1 物联网入门-按键报警上报.mix | 2 +- .../5年级/4-2-2 物联网入门-曝光报警上报.mix | 2 +- .../5年级/5-1-1 门禁状态-实时上报.mix | 2 +- .../5年级/5-1-2 门禁状态-心跳上报.mix | 2 +- .../5年级/5-2-1 远程开门-云端开门.mix | 2 +- .../5年级/5-2-2 远程开门-开门反馈.mix | 2 +- .../5年级/5-3-1 开门提示-开门附加消息.mix | 2 +- .../5年级/5-3-2 开门提示-附加消息反馈.mix | 2 +- .../5年级/6-1-1 空余车位显示-进场变化.mix | 2 +- .../5年级/6-1-2 空余车位显示-车位已满.mix | 2 +- .../5年级/6-2-1 停车时间计算-时间记录.mix | 2 +- .../5年级/6-2-2 停车时间计算-计算时长.mix | 2 +- .../5年级/6-3-1 停车收费计算-单一费率.mix | 2 +- .../5年级/6-3-2 停车收费计算-可变费率.mix | 2 +- .../智能物联从体验到精通/5年级/7 课堂互动.mix | 2 +- .../6年级/0-1-1 你好世界-图像显示.mix | 2 +- .../6年级/0-1-2 你好世界-温度播报.mix | 2 +- .../6年级/1-1-1 安全带提醒-安全提示.mix | 2 +- .../6年级/1-1-2 安全带提醒-坐下提示.mix | 2 +- .../6年级/1-2-1 倒车雷达-接近提示.mix | 2 +- .../6年级/1-2-2 倒车雷达-距离提示.mix | 2 +- .../6年级/1-3-1 自动转向灯-手动关闭.mix | 2 +- .../6年级/1-3-2 自动转向灯-自动关闭.mix | 2 +- .../6年级/2-1-1 语音识别开关灯-语音控制.mix | 2 +- .../6年级/2-1-2 语音识别开关灯-关闭回复语音控制.mix | 2 +- .../6年级/2-2-1 语音亮度调整灯-亮度调整.mix | 2 +- .../6年级/2-2-2 语音亮度调整灯-亮度反馈.mix | 2 +- .../6年级/2-3-1 语音识别-学习唤醒词.mix | 2 +- .../6年级/2-3-2 语音识别-学习命令词.mix | 2 +- .../6年级/3-1-1 自动唤醒-简单自动唤醒.mix | 2 +- .../6年级/3-1-2 自动唤醒-改进自动唤醒.mix | 2 +- .../6年级/3-2-1 时间播报-按键语音播报.mix | 2 +- .../6年级/3-2-2 时间播报-语音交互播报.mix | 2 +- .../6年级/3-3-1 环境播报-交互环境播报.mix | 2 +- .../6年级/3-3-2 环境播报-环境预警播报.mix | 2 +- .../6年级/4-1-1 拍照保存-拍照显示.mix | 2 +- .../6年级/4-1-2 拍照保存-显示列表.mix | 2 +- .../6年级/4-2-1 文件管理-选择文件.mix | 2 +- .../6年级/4-2-2 文件管理-限定选择.mix | 2 +- .../6年级/4-3-1 拍照管理-显示文件.mix | 2 +- .../6年级/4-3-2 拍照管理-删除文件.mix | 2 +- .../6年级/5-1-1 二维码识别-二维码识别.mix | 2 +- .../6年级/5-1-2 二维码识别-二维码识别改进.mix | 2 +- .../6年级/5-2-1 颜色识别-颜色识别.mix | 2 +- .../6年级/5-2-2 颜色识别-自定义颜色识别.mix | 2 +- .../6年级/5-2-2 颜色识别-颜色识别改进.mix | 2 +- .../6年级/5-3-1 人检测-人脸检测.mix | 2 +- .../6年级/5-3-2 人检测-人体检测.mix | 2 +- .../6年级/6-1-1 人脸识别-录入人脸.mix | 2 +- .../6年级/6-1-2 人脸识别-删除人脸.mix | 2 +- .../6年级/6-2-1 人脸识别-录入人脸姓名.mix | 2 +- .../6年级/6-2-2 人脸识别-识别人脸姓名.mix | 2 +- .../6年级/6-3-1 人脸识别-人脸签到.mix | 2 +- .../6年级/6-3-2 人脸识别-人脸签到改进.mix | 2 +- boards/default/micropython_esp32s3/index.xml | 2 +- ...le.3a511bf2.js => main.bundle.a24e14f3.js} | 2 +- .../micropython_nrf51822_microbit/index.xml | 2 +- ...le.f0608bef.js => main.bundle.17da38bc.js} | 2 +- boards/default/micropython_robot/index.xml | 2 +- ...le.27de60aa.js => main.bundle.340130b0.js} | 2 +- .../blocks/esp32_profile.js | 2 +- .../micropython_esp32c2/origin/config.json | 2 +- 1123 files changed, 1171 insertions(+), 1126 deletions(-) rename boards/default/micropython_educore/{main.bundle.705ae874.js => main.bundle.75578a43.js} (82%) rename boards/default/micropython_esp32/{main.bundle.67d11a28.js => main.bundle.00163ba6.js} (82%) rename boards/default/micropython_esp32c2/{main.bundle.1cce2904.js => main.bundle.62ae672f.js} (83%) rename boards/default/micropython_esp32c3/{main.bundle.6027d445.js => main.bundle.5cf8a753.js} (80%) create mode 100644 boards/default/micropython_esp32c5/build/lib/sowl_tts.py rename boards/default/micropython_esp32c5/{main.bundle.2b743a90.js => main.bundle.9760b8e6.js} (78%) rename boards/default/micropython_esp32s2/{main.bundle.3f76b5d3.js => main.bundle.e909955e.js} (83%) rename boards/default/micropython_esp32s3/{main.bundle.3a511bf2.js => main.bundle.a24e14f3.js} (83%) rename boards/default/micropython_nrf51822_microbit/{main.bundle.f0608bef.js => main.bundle.17da38bc.js} (73%) rename boards/default/micropython_robot/{main.bundle.27de60aa.js => main.bundle.340130b0.js} (82%) diff --git a/boards/default/micropython_educore/examples/MixGo MINI/01-1-快速入门-你好世界.mix b/boards/default/micropython_educore/examples/MixGo MINI/01-1-快速入门-你好世界.mix index e2051614..b911a947 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/01-1-快速入门-你好世界.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/01-1-快速入门-你好世界.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTHello,Mixly!{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK \ No newline at end of file +WHILETRUEonboard_matrix.HEARTHello,Mixly!{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/01-2-快速入门-你好世界2.mix b/boards/default/micropython_educore/examples/MixGo MINI/01-2-快速入门-你好世界2.mix index 7687a27c..6a5cda20 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/01-2-快速入门-你好世界2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/01-2-快速入门-你好世界2.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTonboard_matrix.HEARTHello,Mixly!050{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo= \ No newline at end of file +WHILETRUEonboard_matrix.HEARTonboard_matrix.HEARTHello,Mixly!050{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/02-1-快速入门-跳动的心.mix b/boards/default/micropython_educore/examples/MixGo MINI/02-1-快速入门-跳动的心.mix index adea8428..a0e28f03 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/02-1-快速入门-跳动的心.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/02-1-快速入门-跳动的心.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/02-2-快速入门-为你心动.mix b/boards/default/micropython_educore/examples/MixGo MINI/02-2-快速入门-为你心动.mix index 76b8ec22..38e816cb 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/02-2-快速入门-为你心动.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/02-2-快速入门-为你心动.mix @@ -1 +1 @@ -MixlyWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +MixlyWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/03-1-快速入门-心随我动.mix b/boards/default/micropython_educore/examples/MixGo MINI/03-1-快速入门-心随我动.mix index 71a380ff..b20a3cf7 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/03-1-快速入门-心随我动.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/03-1-快速入门-心随我动.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HEARTonboard_matrix.HEART_SMALL{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg== \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HEARTonboard_matrix.HEART_SMALL{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/03-2-快速入门-心随我动2.mix b/boards/default/micropython_educore/examples/MixGo MINI/03-2-快速入门-心随我动2.mix index a6343fba..b1f9266a 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/03-2-快速入门-心随我动2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/03-2-快速入门-心随我动2.mix @@ -1 +1 @@ -WHILETRUEANDB1keyB2keyonboard_matrix.SADB1keyonboard_matrix.HEARTB2keyonboard_matrix.HEART_SMALLonboard_matrix.SMILE{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo= \ No newline at end of file +WHILETRUEANDB1keyB2keyonboard_matrix.SADB1keyonboard_matrix.HEARTB2keyonboard_matrix.HEART_SMALLonboard_matrix.SMILE{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/04-1-快速入门-流动的灯.mix b/boards/default/micropython_educore/examples/MixGo MINI/04-1-快速入门-流动的灯.mix index 5a344e8b..674d31bd 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/04-1-快速入门-流动的灯.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/04-1-快速入门-流动的灯.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3021i0i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3021i0i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯2.mix index db8903f0..774331eb 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯2.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3021i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3021i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯3.mix b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯3.mix index 45aeb583..a259442e 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯3.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯3.mix @@ -1 +1 @@ -0,1,2,3081Y0,1,2,30121X0X0YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +0,1,2,3081Y0,1,2,30121X0X0YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯4.mix b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯4.mix index 6867a995..7b98ad28 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯4.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯4.mix @@ -1 +1 @@ -0,1,2,3082Y0,1,2,30121X0X0YONs0.10,1,2,311-1-1X0X0ADD1Y1ONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +0,1,2,3082Y0,1,2,30121X0X0YONs0.10,1,2,311-1-1X0X0ADD1Y1ONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯5.mix b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯5.mix index 6bac4551..c78dd433 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯5.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/04-2-快速入门-流动的灯5.mix @@ -1 +1 @@ -0,1,2,30122X0,1,2,3081Y0X0YONs0.10,1,2,37-1-1Y0ADD1X10YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +0,1,2,30122X0,1,2,3081Y0X0YONs0.10,1,2,37-1-1Y0ADD1X10YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/05-1-过程控制-双键开关.mix b/boards/default/micropython_educore/examples/MixGo MINI/05-1-过程控制-双键开关.mix index e85c3f5b..5cfeaea2 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/05-1-过程控制-双键开关.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/05-1-过程控制-双键开关.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HEARTB2key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HEARTB2key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/05-2-快速入门-单键开关2.mix b/boards/default/micropython_educore/examples/MixGo MINI/05-2-快速入门-单键开关2.mix index f28225a4..f3fd0306 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/05-2-快速入门-单键开关2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/05-2-快速入门-单键开关2.mix @@ -1 +1 @@ -WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file +WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/05-2-过程控制-单键开关.mix b/boards/default/micropython_educore/examples/MixGo MINI/05-2-过程控制-单键开关.mix index d1efda41..93a64a2c 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/05-2-过程控制-单键开关.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/05-2-过程控制-单键开关.mix @@ -1 +1 @@ -WHILETRUEB1keytrueonboard_matrix.HEARTB1key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +WHILETRUEB1keytrueonboard_matrix.HEARTB1key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/05-3-过程控制-IPO概念.mix b/boards/default/micropython_educore/examples/MixGo MINI/05-3-过程控制-IPO概念.mix index 993b31af..6010822d 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/05-3-过程控制-IPO概念.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/05-3-过程控制-IPO概念.mix @@ -1 +1 @@ -显示FALSEWHILETRUEB1key显示显示显示onboard_matrix.HEART{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +显示FALSEWHILETRUEB1key显示显示显示onboard_matrix.HEART{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/06-1-过程控制-声音采集.mix b/boards/default/micropython_educore/examples/MixGo MINI/06-1-过程控制-声音采集.mix index 94350652..2ffe304c 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/06-1-过程控制-声音采集.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/06-1-过程控制-声音采集.mix @@ -1 +1 @@ -WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file +WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/06-2-过程控制-看见声音.mix b/boards/default/micropython_educore/examples/MixGo MINI/06-2-过程控制-看见声音.mix index 3b95e54a..2efc2f17 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/06-2-过程控制-看见声音.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/06-2-过程控制-看见声音.mix @@ -1 +1 @@ -WHILETRUEMixly0,1,2,305intx500100071y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEMixly0,1,2,305intx500100071y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/07-1-过程控制-光强采集.mix b/boards/default/micropython_educore/examples/MixGo MINI/07-1-过程控制-光强采集.mix index 12686eb2..32d3af34 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/07-1-过程控制-光强采集.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/07-1-过程控制-光强采集.mix @@ -1 +1 @@ -WHILETRUEMixlyFalseMixlyxintx0s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEMixlyFalseMixlyxintx0s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/07-2-过程控制-自动补光.mix b/boards/default/micropython_educore/examples/MixGo MINI/07-2-过程控制-自动补光.mix index 2e8faa2e..216950f5 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/07-2-过程控制-自动补光.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/07-2-过程控制-自动补光.mix @@ -1 +1 @@ -当前光强0补光大小0WHILETRUE当前光强intxMixly当前光强FalseMixlyx当前光强0补光大小1000MINUS251当前光强0250补光大小0补光大小0补光大小{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +当前光强0补光大小0WHILETRUE当前光强intxMixly当前光强FalseMixlyx当前光强0补光大小1000MINUS251当前光强0250补光大小0补光大小0补光大小{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/08-1-过程控制-接近检测.mix b/boards/default/micropython_educore/examples/MixGo MINI/08-1-过程控制-接近检测.mix index 306e8683..285228a9 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/08-1-过程控制-接近检测.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/08-1-过程控制-接近检测.mix @@ -1 +1 @@ -接近距离0WHILETRUE接近距离intxMixly接近距离Mixlyx接近距离{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg== \ No newline at end of file +接近距离0WHILETRUE接近距离intxMixly接近距离Mixlyx接近距离{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/08-2-过程控制-入侵报警.mix b/boards/default/micropython_educore/examples/MixGo MINI/08-2-过程控制-入侵报警.mix index ff84d40a..6a139357 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/08-2-过程控制-入侵报警.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/08-2-过程控制-入侵报警.mix @@ -1 +1 @@ -接近距离0是否报警FALSEWHILETRUE接近距离intxMixly接近距离FalseMixlyxZHENGCHU1接近距离1000是否报警GT接近距离1000是否报警onboard_music.DADADADUM{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +接近距离0是否报警FALSEWHILETRUE接近距离intxMixly接近距离FalseMixlyxZHENGCHU1接近距离1000是否报警GT接近距离1000是否报警onboard_music.DADADADUM{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/09-1-输入输出-加速度.mix b/boards/default/micropython_educore/examples/MixGo MINI/09-1-输入输出-加速度.mix index 05a0e9b3..cc27dbf6 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/09-1-输入输出-加速度.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/09-1-输入输出-加速度.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/09-2-输入输出-平衡仪.mix b/boards/default/micropython_educore/examples/MixGo MINI/09-2-输入输出-平衡仪.mix index 7e7c1c2d..044d26eb 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/09-2-输入输出-平衡仪.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/09-2-输入输出-平衡仪.mix @@ -1 +1 @@ -x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/10-1-输入输出-地磁强度.mix b/boards/default/micropython_educore/examples/MixGo MINI/10-1-输入输出-地磁强度.mix index 23bfecfe..8e18b8dc 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/10-1-输入输出-地磁强度.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/10-1-输入输出-地磁强度.mix @@ -1 +1 @@ -WHILETRUEMixlyalls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEMixlyalls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/10-2-输入输出-金属探测.mix b/boards/default/micropython_educore/examples/MixGo MINI/10-2-输入输出-金属探测.mix index 07d16a1f..4ae0a6b7 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/10-2-输入输出-金属探测.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/10-2-输入输出-金属探测.mix @@ -1 +1 @@ -WHILETRUEGTall2000440100TrueGO0s1B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file +WHILETRUEGTall2000440100TrueGO0s1B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/11-1-输入输出-点阵控制.mix b/boards/default/micropython_educore/examples/MixGo MINI/11-1-输入输出-点阵控制.mix index 3ba14ebd..a213abf7 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/11-1-输入输出-点阵控制.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/11-1-输入输出-点阵控制.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONms100,1,2,30121x0,1,2,3081y0x0yONms10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgZm9yIHggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file +WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONms100,1,2,30121x0,1,2,3081y0x0yONms10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgZm9yIHggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/11-2-输入输出-光标控制.mix b/boards/default/micropython_educore/examples/MixGo MINI/11-2-输入输出-光标控制.mix index 74630e65..250ce9b2 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/11-2-输入输出-光标控制.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/11-2-输入输出-光标控制.mix @@ -1 +1 @@ -64ONWHILETRUEA1keyshift_down1A2keyshift_left1A3keyshift_up1A4keyshift_right1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK \ No newline at end of file +64ONWHILETRUEA1keyshift_down1A2keyshift_left1A3keyshift_up1A4keyshift_right1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/12-1-输入输出-实时时钟.mix b/boards/default/micropython_educore/examples/MixGo MINI/12-1-输入输出-实时时钟.mix index 2de81391..8db17e51 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/12-1-输入输出-实时时钟.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/12-1-输入输出-实时时钟.mix @@ -1 +1 @@ -20244221445WHILETRUEMixlys1{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +20244221445WHILETRUEMixlys1{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_educore/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix index 82507dcc..13b6acac 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix @@ -1 +1 @@ -20244221445WHILETRUEmytupMixly{}:{}:{}xmytup3xmytup4xmytup5s0.5{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +20244221445WHILETRUEmytupMixly{}:{}:{}xmytup3xmytup4xmytup5s0.5{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_educore/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix index b8ea46bc..3423a3c5 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻MixlyxMINUS1抬起时刻1按下时刻{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo= \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻MixlyxMINUS1抬起时刻1按下时刻{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_educore/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix index fde82a4c..969c8881 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix @@ -1 +1 @@ -灯数按下时刻0抬起时刻0间隔时间0WHILETRUEB1key按下时刻mstrueB1key抬起时刻ms间隔时间MINUS1抬起时刻1按下时刻Mixly间隔时间FalseMixlyxQUYU1间隔时间1000min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKF9FN184MV9BRl9FNl85NV9CMCk6CiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIF9FN184MV9BRl9FNl85NV9CMCwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMjApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICAgICAgcHJpbnQoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cigoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ICUgMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQVJHQihtaW4oX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0IC8vIDEwMCwgMikpCg== \ No newline at end of file +灯数按下时刻0抬起时刻0间隔时间0WHILETRUEB1key按下时刻mstrueB1key抬起时刻ms间隔时间MINUS1抬起时刻1按下时刻Mixly间隔时间FalseMixlyxQUYU1间隔时间1000min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKF9FN184MV9BRl9FNl85NV9CMCk6CiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIF9FN184MV9BRl9FNl85NV9CMCwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMjApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICAgICAgcHJpbnQoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cigoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ICUgMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQVJHQihtaW4oX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0IC8vIDEwMCwgMikpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_educore/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix index a068c948..47f5b45b 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix @@ -1 +1 @@ -灯数亮屏时刻0按下时刻0间隔时间0WHILETRUEs1float12onboard_matrix.HEART亮屏时刻mstrueB1key按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICBwcmludChfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRTZfOThfQkVfRTdfQTRfQkFSR0IobWluKF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCAvLyAxMDAsIDIpKQo= \ No newline at end of file +灯数亮屏时刻0按下时刻0间隔时间0WHILETRUEs1float12onboard_matrix.HEART亮屏时刻mstrueB1key按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICBwcmludChfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRTZfOThfQkVfRTdfQTRfQkFSR0IobWluKF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCAvLyAxMDAsIDIpKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_educore/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix index 1a718ab3..1df90fff 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix @@ -1 +1 @@ -灯数亮屏时刻0按下时刻0间隔时间0显示图像0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART亮屏时刻mstrueORB1keyA1keyORANDB1keyEQ显示图像1ANDA1keyEQ显示图像0按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002onboard_matrix.NO显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkgb3IgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQgogICAgICAgIHByaW50KF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKG1pbihfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgLy8gMTAwLCAyKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file +灯数亮屏时刻0按下时刻0间隔时间0显示图像0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART亮屏时刻mstrueORB1keyA1keyORANDB1keyEQ显示图像1ANDA1keyEQ显示图像0按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002onboard_matrix.NO显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkgb3IgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQgogICAgICAgIHByaW50KF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKG1pbihfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgLy8gMTAwLCAyKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_educore/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix index 86c4a2ac..fbeffd35 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSk6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSk6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_educore/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix index bfbfeec4..902fa70c 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix @@ -1 +1 @@ -亮屏时刻0按下时刻0显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1key按下时刻msMixlyMINUS1按下时刻1亮屏时刻ANDORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1LTMINUS1按下时刻1亮屏时刻500ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgcHJpbnQoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQikpCiAgICBpZiAoKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkpIGFuZCBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPCA1MDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +亮屏时刻0按下时刻0显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1key按下时刻msMixlyMINUS1按下时刻1亮屏时刻ANDORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1LTMINUS1按下时刻1亮屏时刻500ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgcHJpbnQoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQikpCiAgICBpZiAoKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkpIGFuZCBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPCA1MDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_educore/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix index 90ef1e24..ed5c8b8e 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0B2key游戏开始TRUE0100游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDEwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCg== \ No newline at end of file +显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0B2key游戏开始TRUE0100游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDEwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_educore/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix index 7f3745d0..42b579f2 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0GT游戏得分10游戏开始FALSEB2key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0200游戏得分0游戏开始FALSEFalse0000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMjAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ+i1oicsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPiAxMDoKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICAgICAgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIF9FOF9BRV9CRV9FN19CRF9BRV9FNl9COF9COF9FNl84OF84Rl9FN184QV9CNl9FNl84MF84MSgpCg== \ No newline at end of file +显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0GT游戏得分10游戏开始FALSEB2key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0200游戏得分0游戏开始FALSEFalse0000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMjAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ+i1oicsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPiAxMDoKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICAgICAgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIF9FOF9BRV9CRV9FN19CRF9BRV9FNl9COF9COF9FNl84OF84Rl9FN184QV9CNl9FNl84MF84MSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_educore/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix index 4ebb7b5d..7bf803d6 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5B1key202020B2key000{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file +WHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5B1key202020B2key000{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/17-2-复杂控制-单键中断.mix b/boards/default/micropython_educore/examples/MixGo MINI/17-2-复杂控制-单键中断.mix index 3338bad1..0527f84b 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/17-2-复杂控制-单键中断.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/17-2-复杂控制-单键中断.mix @@ -1 +1 @@ -x是否亮灯FALSEmachine.Pin.IRQ_RISINGB2keyattachInterrupt_funcWHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +x是否亮灯FALSEmachine.Pin.IRQ_RISINGB2keyattachInterrupt_funcWHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/18-1-复杂控制-定时计时.mix b/boards/default/micropython_educore/examples/MixGo MINI/18-1-复杂控制-定时计时.mix index 9e981601..72bcc4b9 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/18-1-复杂控制-定时计时.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/18-1-复杂控制-定时计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1FalseMixlyx计时0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg== \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1FalseMixlyx计时0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/18-2-复杂控制-循环计时.mix b/boards/default/micropython_educore/examples/MixGo MINI/18-2-复杂控制-循环计时.mix index 794124db..0cf89f35 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/18-2-复杂控制-循环计时.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/18-2-复杂控制-循环计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0FalseMixlyx计时0tim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCBfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgX0U4X0FFX0ExX0U2Xzk3X0I2ID0gMAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FOF9BRV9BMV9FNl85N19CNiksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0FalseMixlyx计时0tim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCBfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgX0U4X0FFX0ExX0U2Xzk3X0I2ID0gMAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FOF9BRV9BMV9FNl85N19CNiksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/19-1-复杂控制-多线程.mix b/boards/default/micropython_educore/examples/MixGo MINI/19-1-复杂控制-多线程.mix index 120c84e7..0d0778bd 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/19-1-复杂控制-多线程.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/19-1-复杂控制-多线程.mix @@ -1 +1 @@ -音乐FALSEtestThreadWHILETRUEB1key音乐音乐onboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +音乐FALSEtestThreadWHILETRUEB1key音乐音乐onboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_educore/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix index 9c73c984..dc684487 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUMattachInterrupt_func音乐音乐音乐{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIF9FOV85Rl9CM19FNF9COV85MAogICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUMattachInterrupt_func音乐音乐音乐{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIF9FOV85Rl9CM19FNF9COV85MAogICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/20-1-复杂控制-异常.mix b/boards/default/micropython_educore/examples/MixGo MINI/20-1-复杂控制-异常.mix index ee6f5756..b2f2560d 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/20-1-复杂控制-异常.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/20-1-复杂控制-异常.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量attachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYK \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量attachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/20-2-复杂控制-异常处理.mix b/boards/default/micropython_educore/examples/MixGo MINI/20-2-复杂控制-异常处理.mix index e93326dc..34beee4b 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/20-2-复杂控制-异常处理.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/20-2-复杂控制-异常处理.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量Exception as eeattachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHRyeToKICAgICAgICBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYgPSBub3QgX0U5Xzk0Xzk5X0U4X0FGX0FGX0U1XzhGXzk4X0U5Xzg3XzhGCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcGFzcwo= \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量Exception as eeattachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHRyeToKICAgICAgICBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYgPSBub3QgX0U5Xzk0Xzk5X0U4X0FGX0FGX0U1XzhGXzk4X0U5Xzg3XzhGCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix b/boards/default/micropython_educore/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix index 1fd453f3..df0de8b4 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix @@ -1 +1 @@ -WHILETRUETrueMixly659100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWluaV9nMgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgcHJpbnQoZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUETrueMixly659100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWluaV9nMgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgcHJpbnQoZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix b/boards/default/micropython_educore/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix index 8f5aaf78..d74b9333 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix b/boards/default/micropython_educore/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix index 0ba24b79..ef44e3ca 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix @@ -1 +1 @@ -WHILETRUEB1keyidNEQxidNone659100Mixlymytupx01B2keyTrue0米思齐onboard_matrix.YES988100onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQodHVwbGUoZXh0X3JmaWQucmVhZF9jYXJkKDApKVsxXSkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZiBleHRfcmZpZC5zY2FuX2NhcmQoKT09VHJ1ZToKICAgICAgICAgICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZCgn57Gz5oCd6b2QJywwKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQo= \ No newline at end of file +WHILETRUEB1keyidNEQxidNone659100Mixlymytupx01B2keyTrue0米思齐onboard_matrix.YES988100onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQodHVwbGUoZXh0X3JmaWQucmVhZF9jYXJkKDApKVsxXSkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZiBleHRfcmZpZC5zY2FuX2NhcmQoKT09VHJ1ZToKICAgICAgICAgICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZCgn57Gz5oCd6b2QJywwKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix b/boards/default/micropython_educore/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix index 94375d8e..3b482a7a 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix @@ -1 +1 @@ -mytupMixlyMixIOMixGo序号0写模式FALSE上一卡号0WHILETRUEB1key写模式写模式255MULTIPLY2551写模式00写模式idNEQxidNoneNEQid上一卡号0Mixlymytup0序号onboard_matrix.YES988100ADDa序号1上一卡号idGTE序号mytup写模式FALSE000onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCgoKbXl0dXA9ICgnTWl4bHknLCAnTWl4SU8nLCAnTWl4R28nKQrluo/lj7cgPSAwCuWGmeaooeW8jyA9IEZhbHNlCuS4iuS4gOWNoeWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhpnmqKHlvI8gPSBub3Qg5YaZ5qih5byPCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoKDI1NSAqIOWGmeaooeW8jyksIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOWGmeaooeW8jzoKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgaWYgaWQyICE9IOS4iuS4gOWNoeWPtzoKICAgICAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQobXl0dXBb5bqP5Y+3XSwwKToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgICAgICAgICAgICAg5LiK5LiA5Y2h5Y+3ID0gaWQyCiAgICAgICAgICAgICAgICAgICAgaWYg5bqP5Y+3ID49IGxlbihteXR1cCk6CiAgICAgICAgICAgICAgICAgICAgICAgIOWGmeaooeW8jyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkK \ No newline at end of file +mytupMixlyMixIOMixGo序号0写模式FALSE上一卡号0WHILETRUEB1key写模式写模式255MULTIPLY2551写模式00写模式idNEQxidNoneNEQid上一卡号0Mixlymytup0序号onboard_matrix.YES988100ADDa序号1上一卡号idGTE序号mytup写模式FALSE000onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCgoKbXl0dXA9ICgnTWl4bHknLCAnTWl4SU8nLCAnTWl4R28nKQrluo/lj7cgPSAwCuWGmeaooeW8jyA9IEZhbHNlCuS4iuS4gOWNoeWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhpnmqKHlvI8gPSBub3Qg5YaZ5qih5byPCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoKDI1NSAqIOWGmeaooeW8jyksIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOWGmeaooeW8jzoKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgaWYgaWQyICE9IOS4iuS4gOWNoeWPtzoKICAgICAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQobXl0dXBb5bqP5Y+3XSwwKToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgICAgICAgICAgICAg5LiK5LiA5Y2h5Y+3ID0gaWQyCiAgICAgICAgICAgICAgICAgICAgaWYg5bqP5Y+3ID49IGxlbihteXR1cCk6CiAgICAgICAgICAgICAgICAgICAgICAgIOWGmeaooeW8jyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix b/boards/default/micropython_educore/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix index a4915a3b..6a4964a8 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix @@ -1,2 +1,2 @@ -WHILETRUE初始化卡片 +WHILETRUE初始化卡片 充值10元A1keyidNEQxidNone659100Mixly010onboard_matrix.HEART10s1消费:扣款2元A2keyidNEQxidNone784100ms100784100yuemytupx01yueintyueMINUSyue2MixlyyueMixly010xyueonboard_matrix.HEARTxyues1充值:每次充值10元B1keyidNEQxidNone659300yuemytupx01yueintyueADDyue10MixlyyueMixly010xyueonboard_matrix.HEARTxyues1查余额B2keyidNEQxidNone659100yuemytupx01Mixlyyueonboard_matrix.HEARTxyues1{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICAjIOWIneWni+WMluWNoeeJhwogICAgIyDlhYXlgLwxMOWFgwogICAgIyDmtojotLnvvJrmiaPmrL4y5YWDCiAgICAjIOWFheWAvO+8muavj+asoeWFheWAvDEw5YWDCiAgICAjIOafpeS9meminQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICAgICAgaWYgc3RyKGlkMikgIT0gJ05vbmUnOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLndyaXRlX2NhcmQoJzEwJywwKSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJzEwJykKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICAgICAgeXVlID0gdHVwbGUoZXh0X3JmaWQucmVhZF9jYXJkKDApKVsxXQogICAgICAgICAgICB5dWUgPSBpbnQoeXVlKQogICAgICAgICAgICB5dWUgLT0gMgogICAgICAgICAgICBwcmludCh5dWUpCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKHl1ZSksMCkpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cih5dWUpKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMzAwKQogICAgICAgICAgICB5dWUgPSB0dXBsZShleHRfcmZpZC5yZWFkX2NhcmQoMCkpWzFdCiAgICAgICAgICAgIHl1ZSA9IGludCh5dWUpCiAgICAgICAgICAgIHl1ZSArPSAxMAogICAgICAgICAgICBwcmludCh5dWUpCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKHl1ZSksMCkpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cih5dWUpKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBlbGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICB5dWUgPSB0dXBsZShleHRfcmZpZC5yZWFkX2NhcmQoMCkpWzFdCiAgICAgICAgICAgIHByaW50KHl1ZSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKHl1ZSkpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix b/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix index 9c8ed959..849512b0 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix @@ -1 +1 @@ -ble_MouseSENSITIVITY灵敏度30MOVE_THRESHOLD移动阈值0.05smooth_x平滑处理的历史数据0smooth_y平滑处理的历史数据0ALPHA指数平滑因子(0 < ALPHA < 1)0.8WHILETRUEraw_x[0]raw_y[1]忽略小幅移动LTfabs0.998raw_xMOVE_THRESHOLDraw_x0忽略小幅移动LTfabs0.998raw_yMOVE_THRESHOLDraw_y0xintxMULTIPLY1raw_x1SENSITIVITYyintxMULTIPLY1raw_y1SENSITIVITYsmooth_x平滑处理ADD1MULTIPLY1ALPHA1smooth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000intsmooth_y0intsmooth_yMULTIPLY1smooth_x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file +ble_MouseSENSITIVITY灵敏度30MOVE_THRESHOLD移动阈值0.05smooth_x平滑处理的历史数据0smooth_y平滑处理的历史数据0ALPHA指数平滑因子(0 < ALPHA < 1)0.8WHILETRUEraw_x[0]raw_y[1]忽略小幅移动LTfabs0.998raw_xMOVE_THRESHOLDraw_x0忽略小幅移动LTfabs0.998raw_yMOVE_THRESHOLDraw_y0xintxMULTIPLY1raw_x1SENSITIVITYyintxMULTIPLY1raw_y1SENSITIVITYsmooth_x平滑处理ADD1MULTIPLY1ALPHA1smooth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000intsmooth_y0intsmooth_yMULTIPLY1smooth_x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix b/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix index 6cc37dda..74c9a398 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix @@ -1 +1 @@ -ble_keyboardtruewaitting698150523150WHILETRUEGT100True0x080x07ms300ms100{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKYmxlX2tleWJvYXJkPUtleWJvYXJkKCdibGVfa2V5Ym9hcmQnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2tleWJvYXJkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK \ No newline at end of file +ble_keyboardtruewaitting698150523150WHILETRUEGT100True0x080x07ms300ms100{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKYmxlX2tleWJvYXJkPUtleWJvYXJkKCdibGVfa2V5Ym9hcmQnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2tleWJvYXJkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-翻页笔.mix b/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-翻页笔.mix index c76b28ea..878c96b6 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-翻页笔.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/23-2-蓝牙键鼠-翻页笔.mix @@ -1 +1 @@ -ble_keyboardtruewaitting784150659150WHILETRUEA1keyTrue0x000x52MixlyA3keyTrue0x000x51ms10{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQoKCmJsZV9rZXlib2FyZD1LZXlib2FyZCgnYmxlX2tleWJvYXJkJykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnd2FpdHRpbmcnKQogICAgaWYgKGJsZV9rZXlib2FyZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwMCwweDUyLFRydWUpCiAgICAgICAgcHJpbnQoJ01peGx5JykKICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9rZXlib2FyZC5ub3RpZnlfaGlkKDB4MDAsMHg1MSxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file +ble_keyboardtruewaitting784150659150WHILETRUEA1keyTrue0x000x52MixlyA3keyTrue0x000x51ms10{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQoKCmJsZV9rZXlib2FyZD1LZXlib2FyZCgnYmxlX2tleWJvYXJkJykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnd2FpdHRpbmcnKQogICAgaWYgKGJsZV9rZXlib2FyZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwMCwweDUyLFRydWUpCiAgICAgICAgcHJpbnQoJ01peGx5JykKICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9rZXlib2FyZC5ub3RpZnlfaGlkKDB4MDAsMHg1MSxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/24-1-无线广播-通讯测试.mix b/boards/default/micropython_educore/examples/MixGo MINI/24-1-无线广播-通讯测试.mix index a472e4af..60ab1d7e 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/24-1-无线广播-通讯测试.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/24-1-无线广播-通讯测试.mix @@ -1 +1 @@ -10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrue<-0RIGHTTrue->0{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file +10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrue<-0RIGHTTrue->0{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/24-2-无线广播-防丢检测.mix b/boards/default/micropython_educore/examples/MixGo MINI/24-2-无线广播-防丢检测.mix index f13c4dea..758f8469 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/24-2-无线广播-防丢检测.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/24-2-无线广播-防丢检测.mix @@ -1 +1 @@ -lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000onboard_matrix.NOonboard_music.DADADADUMlastmsgtimeonboard_matrix.YESlastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000onboard_matrix.NOonboard_music.DADADADUMlastmsgtimeonboard_matrix.YESlastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/25-1-飞机游戏-显示飞机.mix b/boards/default/micropython_educore/examples/MixGo MINI/25-1-飞机游戏-显示飞机.mix index 0b96fdfa..49b26ab8 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/25-1-飞机游戏-显示飞机.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/25-1-飞机游戏-显示飞机.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUE0,1,2,31151本机X坐标s1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGZvciBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKDEsIDE1LCAxKToKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUE0,1,2,31151本机X坐标s1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGZvciBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKDEsIDE1LCAxKToKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/25-2-飞机游戏-移动飞机.mix b/boards/default/micropython_educore/examples/MixGo MINI/25-2-飞机游戏-移动飞机.mix index 88b8a75d..7d70e908 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/25-2-飞机游戏-移动飞机.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/25-2-飞机游戏-移动飞机.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/26-1-飞机游戏-发射子弹.mix b/boards/default/micropython_educore/examples/MixGo MINI/26-1-飞机游戏-发射子弹.mix index f273925a..d472837c 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/26-1-飞机游戏-发射子弹.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/26-1-飞机游戏-发射子弹.mix @@ -1 +1 @@ -显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标0,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgZm9yIF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcgaW4gcmFuZ2UoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcF9tcyg1MCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkK \ No newline at end of file +显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标0,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgZm9yIF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcgaW4gcmFuZ2UoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcF9tcyg1MCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/26-2-飞机游戏-移动音效.mix b/boards/default/micropython_educore/examples/MixGo MINI/26-2-飞机游戏-移动音效.mix index e12e372e..d1a88e73 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/26-2-飞机游戏-移动音效.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/26-2-飞机游戏-移动音效.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKToKICAgIGdsb2JhbCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gbWluKG1heChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3LCAxKSwgX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpCiAgICBmb3IgeCBpbiByYW5nZShfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMiwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDMsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKToKICAgIGdsb2JhbCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gbWluKG1heChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3LCAxKSwgX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpCiAgICBmb3IgeCBpbiByYW5nZShfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMiwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDMsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/27-1-飞机游戏-显示敌机.mix b/boards/default/micropython_educore/examples/MixGo MINI/27-1-飞机游戏-显示敌机.mix index c19172b1..a8909b6e 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/27-1-飞机游戏-显示敌机.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/27-1-飞机游戏-显示敌机.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/27-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_educore/examples/MixGo MINI/27-2-飞机游戏-消灭敌机.mix index 2ead9fe2..4ed61234 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/27-2-飞机游戏-消灭敌机.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/27-2-飞机游戏-消灭敌机.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2keyEQ敌机X坐标本机X坐标988100显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIGlmIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPT0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2keyEQ敌机X坐标本机X坐标988100显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIGlmIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPT0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/28-1-飞机游戏-显示得分.mix b/boards/default/micropython_educore/examples/MixGo MINI/28-1-飞机游戏-显示得分.mix index 09bd5242..78d2c856 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/28-1-飞机游戏-显示得分.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/28-1-飞机游戏-显示得分.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIF9FOF9BRV9BMV9FN19BRV85N19FNV9CRV85N19FNV84OF84NigpCg== \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIF9FOF9BRV9BMV9FN19BRV85N19FNV9CRV85N19FNV84OF84NigpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/28-2-飞机游戏-结束游戏.mix b/boards/default/micropython_educore/examples/MixGo MINI/28-2-飞机游戏-结束游戏.mix index d0a83ec1..7360e760 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/28-2-飞机游戏-结束游戏.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/28-2-飞机游戏-结束游戏.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0游戏开始FALSE剩余子弹5WHILETRUEA2key得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixlyx得分0{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgpkZWYgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBnbG9iYWwgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5CiAgICBfRTVfODlfQTlfRTRfQkRfOTlfRTVfQURfOTBfRTVfQkNfQjkgLT0gMQogICAgaWYgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5IDw9IDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IFRydWUKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkKICAgICAgICAgICAgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCkKICAgICAgICAgICAgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCkK \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0游戏开始FALSE剩余子弹5WHILETRUEA2key得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixlyx得分0{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgpkZWYgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBnbG9iYWwgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5CiAgICBfRTVfODlfQTlfRTRfQkRfOTlfRTVfQURfOTBfRTVfQkNfQjkgLT0gMQogICAgaWYgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5IDw9IDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IFRydWUKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkKICAgICAgICAgICAgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCkKICAgICAgICAgICAgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_educore/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix index bd1d9e06..04a52ffd 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5光照msgMixlyx{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo= \ No newline at end of file +fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5光照msgMixlyx{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_educore/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix index 31a92a25..973d021f 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5环境msg"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file +fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5环境msg"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_educore/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix index 981da780..22d8b285 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix @@ -1 +1 @@ -timfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0timPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi5aOw6Z+zIjpvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +timfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0timPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi5aOw6Z+zIjpvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_educore/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix index 97fb138e..541f4c8d 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix @@ -1 +1 @@ -tim震动strength光照声音fuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0timPERIODICtim5000tim_callback震动strengthWHILETRUE震动strength光照声音s0.1GT震动5危险大震动s1tim_callback震动光照声音环境大震动"光照""声音""震动"光照声音震动{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKaW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOV85Q184N19FNV84QV9BOAogICAgZ2xvYmFsIF9FNV84NV84OV9FN184NV9BNwogICAgZ2xvYmFsIF9FNV9BM19CMF9FOV85Rl9CMwogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQoKCgpfRTlfOUNfODdfRTVfOEFfQTggPSBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpCl9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQp3aGlsZSBUcnVlOgogICAgX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQogICAgX0U1Xzg1Xzg5X0U3Xzg1X0E3ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgaWYgX0U5XzlDXzg3X0U1XzhBX0E4ID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +tim震动strength光照声音fuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0timPERIODICtim5000tim_callback震动strengthWHILETRUE震动strength光照声音s0.1GT震动5危险大震动s1tim_callback震动光照声音环境大震动"光照""声音""震动"光照声音震动{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKaW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOV85Q184N19FNV84QV9BOAogICAgZ2xvYmFsIF9FNV84NV84OV9FN184NV9BNwogICAgZ2xvYmFsIF9FNV9BM19CMF9FOV85Rl9CMwogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQoKCgpfRTlfOUNfODdfRTVfOEFfQTggPSBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpCl9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQp3aGlsZSBUcnVlOgogICAgX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQogICAgX0U1Xzg1Xzg5X0U3Xzg1X0E3ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgaWYgX0U5XzlDXzg3X0U1XzhBX0E4ID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix index 87ca7b06..758c3381 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0亮屏methodWHILETRUEmethodEQmsg1onboard_matrix.HEARTEQmsg0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0亮屏methodWHILETRUEmethodEQmsg1onboard_matrix.HEARTEQmsg0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix index 7616b05e..141e45ca 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix @@ -1 +1 @@ -clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5ID0gbXNnCgoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9ICdNaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLrlhoXlrrknLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuuWGheWuuScpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5ID0gbXNnCgoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9ICdNaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLrlhoXlrrknLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuuWGheWuuScpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/32-1-物联网-多主题数据订.mix b/boards/default/micropython_educore/examples/MixGo MINI/32-1-物联网-多主题数据订.mix index 9d7a24be..ce855286 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/32-1-物联网-多主题数据订.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/32-1-物联网-多主题数据订.mix @@ -1 +1 @@ -clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容method亮灯method2timPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod2EQmsg1252525EQmsg0000method显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG1zZwoKCgpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65YaF5a65JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrlhoXlrrknKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6rueBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容method亮灯method2timPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod2EQmsg1252525EQmsg0000method显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG1zZwoKCgpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65YaF5a65JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrlhoXlrrknKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6rueBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_educore/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix index 889aa76a..0db2a217 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix @@ -1 +1 @@ -clienttopicmsgtimmydict显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0json消息methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBqc29uCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKbXlkaWN0PSB7fQpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnanNvbua2iOaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnanNvbua2iOaBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtimmydict显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0json消息methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBqc29uCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKbXlkaWN0PSB7fQpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnanNvbua2iOaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnanNvbua2iOaBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/33-1-课堂互动-自由签到.mix b/boards/default/micropython_educore/examples/MixGo MINI/33-1-课堂互动-自由签到.mix index 08d132c4..ddecf9e6 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/33-1-课堂互动-自由签到.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/33-1-课堂互动-自由签到.mix @@ -1 +1 @@ -本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUEFalseGO0B1key姓名msg本机用户Mixly本机用户FalseOK0s1FalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUEFalseGO0B1key姓名msg本机用户Mixly本机用户FalseOK0s1FalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/33-2-课堂互动-按需签到.mix b/boards/default/micropython_educore/examples/MixGo MINI/33-2-课堂互动-按需签到.mix index 114c28df..d8bbf5cb 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/33-2-课堂互动-按需签到.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/33-2-课堂互动-按需签到.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodFalse==0WHILETRUE开始签到B1key姓名msg本机用户开始签到FALSEMixly本机用户FalseOK0s1False==0method开始签到EQmsg1开始签到TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF9CRV9FNV84OF9CMAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etvuWIsCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562+5YiwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodFalse==0WHILETRUE开始签到B1key姓名msg本机用户开始签到FALSEMixly本机用户FalseOK0s1False==0method开始签到EQmsg1开始签到TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF9CRV9FNV84OF9CMAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etvuWIsCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562+5YiwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_educore/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix index a0933d81..a1eecd55 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者False==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9IG1zZwogICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9ICcnCl9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0OgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQo= \ No newline at end of file +clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者False==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9IG1zZwogICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9ICcnCl9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0OgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_educore/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix index 0f37d0ba..5ba2f34e 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEFalse==0method2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSEFalse==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODgKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OC5hZGQobXNnKQogICAgaWYgbGVuKF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OCkgPj0gMjoKICAgICAgICBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IFRydWUKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCgoKX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3ID0gJ21peGx5JwpfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfbWF0cml4LnNob3dzKCc9PScsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NDoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCg== \ No newline at end of file +clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEFalse==0method2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSEFalse==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODgKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OC5hZGQobXNnKQogICAgaWYgbGVuKF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OCkgPj0gMjoKICAgICAgICBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IFRydWUKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCgoKX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3ID0gJ21peGx5JwpfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfbWF0cml4LnNob3dzKCc9PScsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NDoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/35-1-课堂互动-单选答题.mix b/boards/default/micropython_educore/examples/MixGo MINI/35-1-课堂互动-单选答题.mix index 4502403e..6f514823 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/35-1-课堂互动-单选答题.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/35-1-课堂互动-单选答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/35-2-课堂互动-多选答题.mix b/boards/default/micropython_educore/examples/MixGo MINI/35-2-课堂互动-多选答题.mix index 918454ad..b5e66d4b 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/35-2-课堂互动-多选答题.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/35-2-课堂互动-多选答题.mix @@ -1 +1 @@ -clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890FalseWO0mixio.mixly.cn7b6443FalseMO0开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果onboard_matrix.YESmylistx答题集合B1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUEFalseGO0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmltcG9ydCB1cmVxdWVzdHMKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKZnJvbSBtaXhweSBpbXBvcnQgYW5hbHlzZV9zaGFyZWtleQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQpfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICcnOgogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODguYWRkKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QykKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJycKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890FalseWO0mixio.mixly.cn7b6443FalseMO0开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果onboard_matrix.YESmylistx答题集合B1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUEFalseGO0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmltcG9ydCB1cmVxdWVzdHMKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKZnJvbSBtaXhweSBpbXBvcnQgYW5hbHlzZV9zaGFyZWtleQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQpfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICcnOgogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODguYWRkKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QykKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJycKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/36-1-课堂互动-点名答题.mix b/boards/default/micropython_educore/examples/MixGo MINI/36-1-课堂互动-点名答题.mix index fd0ddd5d..1acef253 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/36-1-课堂互动-点名答题.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/36-1-课堂互动-点名答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSBfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSBfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/36-2-课堂互动-多人点答.mix b/boards/default/micropython_educore/examples/MixGo MINI/36-2-课堂互动-多人点答.mix index e0c7575e..7b60a63f 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/36-2-课堂互动-多人点答.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/36-2-课堂互动-多人点答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZy5maW5kKF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykgPiAtMToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U3X0FEXzk0X0U5X0EyXzk4X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCl9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMpCiAgICAgICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZy5maW5kKF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykgPiAtMToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U3X0FEXzk0X0U5X0EyXzk4X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCl9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMpCiAgICAgICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/39-1-文件操作-录音采集.mix b/boards/default/micropython_educore/examples/MixGo MINI/39-1-文件操作-录音采集.mix index d9730868..3a868045 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/39-1-文件操作-录音采集.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/39-1-文件操作-录音采集.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/39-2-文件操作-录音重现.mix b/boards/default/micropython_educore/examples/MixGo MINI/39-2-文件操作-录音重现.mix index c07f01eb..1d65f972 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/39-2-文件操作-录音重现.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/39-2-文件操作-录音重现.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10B2key21r/test.txtf0,1,2,301001xsreadlinefsdintxs0,1,2,375intx50d0300070-1i110iONshift_left1s0.05fException as ee20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgICAgIGQgPSBpbnQocykKICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg3LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDMwMDAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KDExKSwgaW50KGkpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10B2key21r/test.txtf0,1,2,301001xsreadlinefsdintxs0,1,2,375intx50d0300070-1i110iONshift_left1s0.05fException as ee20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgICAgIGQgPSBpbnQocykKICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg3LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDMwMDAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KDExKSwgaW50KGkpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/40-1-文件操作-震动采集.mix b/boards/default/micropython_educore/examples/MixGo MINI/40-1-文件操作-震动采集.mix index 5b824539..48479f08 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/40-1-文件操作-震动采集.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/40-1-文件操作-震动采集.mix @@ -1 +1 @@ -MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/40-2-文件操作-震动重现.mix b/boards/default/micropython_educore/examples/MixGo MINI/40-2-文件操作-震动重现.mix index 62b41963..26caf3b6 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/40-2-文件操作-震动重现.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/40-2-文件操作-震动重现.mix @@ -1 +1 @@ -MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10B2key21r/acc.txtf0,1,2,301001xsreadlinefMixlysms50fException as ee20{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHByaW50KGUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file +MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10B2key21r/acc.txtf0,1,2,301001xsreadlinefMixlysms50fException as ee20{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHByaW50KGUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-12 MIXIO使用.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-12 MIXIO使用.mix index 7002a815..5887ffd7 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-12 MIXIO使用.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-12 MIXIO使用.mix @@ -1 +1 @@ -clienttopicmsgWifi connectedmixio.mixly.cnusernamepasswordMyProjecttopicmethodWHILETRUEtempmsgs1methodMixlymsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKcHJpbnQoJ1dpZmkgY29ubmVjdGVkJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ3RvcGljJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICd0b3BpYycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICd0ZW1wJywgb25ib2FyZF90ZW1wZXJhdHVyZSgpKQogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +clienttopicmsgWifi connectedmixio.mixly.cnusernamepasswordMyProjecttopicmethodWHILETRUEtempmsgs1methodMixlymsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKcHJpbnQoJ1dpZmkgY29ubmVjdGVkJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ3RvcGljJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICd0b3BpYycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICd0ZW1wJywgb25ib2FyZF90ZW1wZXJhdHVyZSgpKQogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2a 无线发送.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2a 无线发送.mix index da50bcd8..91ee6901 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2a 无线发送.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2a 无线发送.mix @@ -1 +1 @@ -1TrueWHILETRUEB1keyon{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnb24nKQo= \ No newline at end of file +1TrueWHILETRUEB1keyon{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnb24nKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2b 无线接收.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2b 无线接收.mix index 0cd0e813..49174f11 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2b 无线接收.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-2b 无线接收.mix @@ -1 +1 @@ -1TrueWHILETRUEon1000{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgdWJpbmFzY2lpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKX3JhZGlvX21zZ19saXN0ID0gW10KZGVmIEVTUE5vd19yYWRpb19yZWN2X2NhbGxiYWNrKG1hYyxFU1BOb3dfcmFkaW9fbXNnKToKICAgIGdsb2JhbCBfcmFkaW9fbXNnX2xpc3QKICAgIHRyeTogRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpCiAgICBleGNlcHQ6IHBhc3MKICAgIGlmIHN0cihFU1BOb3dfcmFkaW9fbXNnKSBpbiBfcmFkaW9fbXNnX2xpc3Q6CiAgICAgICAgZXZhbCgncmFkaW9fcmVjdl8nICsgYnl0ZXMuZGVjb2RlKHViaW5hc2NpaS5oZXhsaWZ5KEVTUE5vd19yYWRpb19tc2cpKSArICcoKScpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYihFU1BOb3dfcmFkaW9fcmVjdl9jYWxsYmFjaykKCl9yYWRpb19tc2dfbGlzdC5hcHBlbmQoJ29uJykKZGVmIHJhZGlvX3JlY3ZfNmY2ZSgpOgogICAgb25ib2FyZF9yZ2IucmFpbmJvd19jeWNsZSgxMDAwKQoKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file +1TrueWHILETRUEon1000{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgdWJpbmFzY2lpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKX3JhZGlvX21zZ19saXN0ID0gW10KZGVmIEVTUE5vd19yYWRpb19yZWN2X2NhbGxiYWNrKG1hYyxFU1BOb3dfcmFkaW9fbXNnKToKICAgIGdsb2JhbCBfcmFkaW9fbXNnX2xpc3QKICAgIHRyeTogRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpCiAgICBleGNlcHQ6IHBhc3MKICAgIGlmIHN0cihFU1BOb3dfcmFkaW9fbXNnKSBpbiBfcmFkaW9fbXNnX2xpc3Q6CiAgICAgICAgZXZhbCgncmFkaW9fcmVjdl8nICsgYnl0ZXMuZGVjb2RlKHViaW5hc2NpaS5oZXhsaWZ5KEVTUE5vd19yYWRpb19tc2cpKSArICcoKScpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYihFU1BOb3dfcmFkaW9fcmVjdl9jYWxsYmFjaykKCl9yYWRpb19tc2dfbGlzdC5hcHBlbmQoJ29uJykKZGVmIHJhZGlvX3JlY3ZfNmY2ZSgpOgogICAgb25ib2FyZF9yZ2IucmFpbmJvd19jeWNsZSgxMDAwKQoKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3a 蓝牙主机.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3a 蓝牙主机.mix index 379d479b..25e24591 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3a 蓝牙主机.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3a 蓝牙主机.mix @@ -1 +1 @@ -ble_cnameble_cMbleWHILETRUEble_cs1Connecting...ConnectedWHILETRUEB1keyble_c1ble_c4401000Mble disconnectedBREAK{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MuY29ubmVjdChuYW1lPSdNYmxlJykKd2hpbGUgbm90IGJsZV9jLmlzX2Nvbm5lY3RlZCgpOgogICAgdGltZS5zbGVlcCgxKQogICAgcHJpbnQoJ0Nvbm5lY3RpbmcuLi4nKQpwcmludCgnQ29ubmVjdGVkJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfYy5zZW5kKCcxJykKICAgIGlmIG5vdCBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWJsZSBkaXNjb25uZWN0ZWQnKQogICAgICAgIGJyZWFrCg== \ No newline at end of file +ble_cnameble_cMbleWHILETRUEble_cs1Connecting...ConnectedWHILETRUEB1keyble_c1ble_c4401000Mble disconnectedBREAK{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MuY29ubmVjdChuYW1lPSdNYmxlJykKd2hpbGUgbm90IGJsZV9jLmlzX2Nvbm5lY3RlZCgpOgogICAgdGltZS5zbGVlcCgxKQogICAgcHJpbnQoJ0Nvbm5lY3RpbmcuLi4nKQpwcmludCgnQ29ubmVjdGVkJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfYy5zZW5kKCcxJykKICAgIGlmIG5vdCBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWJsZSBkaXNjb25uZWN0ZWQnKQogICAgICAgIGJyZWFrCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3b 蓝牙从机.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3b 蓝牙从机.mix index 10eb6e62..65e9ba80 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3b 蓝牙从机.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-3b 蓝牙从机.mix @@ -1 +1 @@ -ble_pMbleWHILETRUEEQble_p11-1{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpibGVfcCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01ibGUnKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3AucmVjdigpID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQo= \ No newline at end of file +ble_pMbleWHILETRUEEQble_p11-1{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpibGVfcCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01ibGUnKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3AucmVjdigpID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-4 HTTP协议.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-4 HTTP协议.mix index bf7f5810..93bb739d 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-4 HTTP协议.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-4 HTTP协议.mix @@ -1 +1 @@ -WHILETRUEFalsehttps://mixio.mixly.cn/time.phptextclient_lenserver_lens10B1key2023,1,1,12,0,0,6text{}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQp3aGlsZSBUcnVlOgogICAgSFRUUF9jbGllbnQgPSBkZWJ1Z25ldC5yZXF1ZXN0KCJHRVQiLCdodHRwOi8vbWl4aW8ubWl4bHkub3JnL3RpbWUucGhwJyxkZWJ1Zz1GYWxzZSkKICAgIHByaW50KEhUVFBfY2xpZW50LnRleHQsIEhUVFBfY2xpZW50LmNsaWVudF9sZW4sIEhUVFBfY2xpZW50LnNlcnZlcl9sZW4pCiAgICB0aW1lLnNsZWVwKDEwKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHJ0Y3RpbWUuc2V0dGltZShIVFRQX2NsaWVudC50ZXh0KQo= \ No newline at end of file +WHILETRUEFalsehttps://mixio.mixly.cn/time.phptextclient_lenserver_lens10B1key2023,1,1,12,0,0,6text{}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQp3aGlsZSBUcnVlOgogICAgSFRUUF9jbGllbnQgPSBkZWJ1Z25ldC5yZXF1ZXN0KCJHRVQiLCdodHRwOi8vbWl4aW8ubWl4bHkub3JnL3RpbWUucGhwJyxkZWJ1Zz1GYWxzZSkKICAgIHByaW50KEhUVFBfY2xpZW50LnRleHQsIEhUVFBfY2xpZW50LmNsaWVudF9sZW4sIEhUVFBfY2xpZW50LnNlcnZlcl9sZW4pCiAgICB0aW1lLnNsZWVwKDEwKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHJ0Y3RpbWUuc2V0dGltZShIVFRQX2NsaWVudC50ZXh0KQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-5 MQTT协议.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-5 MQTT协议.mix index cbc62265..b0a388bf 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-5 MQTT协议.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第三单元/3-5 MQTT协议.mix @@ -1 +1 @@ -Falsemixio.mixly.cnWHILETRUEtime_msg()client_lenserver_lens10B1key2023,1,1,12,0,0,6time_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQptcXR0X2NsaWVudCA9IGRlYnVnbmV0LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCAiTWl4SU8vM1FCQUdLUkwvZGVmYXVsdC8iLGRlYnVnPUZhbHNlKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoIiRTWVMvaGVsbG8iKQp3aGlsZSBUcnVlOgogICAgcHJpbnQobXF0dF9jbGllbnQudGltZV9tc2coKSwgbXF0dF9jbGllbnQuY2xpZW50X2xlbiwgbXF0dF9jbGllbnQuc2VydmVyX2xlbikKICAgIHRpbWUuc2xlZXAoMTApCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgcnRjdGltZS5zZXR0aW1lKG1xdHRfY2xpZW50LnRpbWVfbXNnKCkpCg== \ No newline at end of file +Falsemixio.mixly.cnWHILETRUEtime_msg()client_lenserver_lens10B1key2023,1,1,12,0,0,6time_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQptcXR0X2NsaWVudCA9IGRlYnVnbmV0LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCAiTWl4SU8vM1FCQUdLUkwvZGVmYXVsdC8iLGRlYnVnPUZhbHNlKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoIiRTWVMvaGVsbG8iKQp3aGlsZSBUcnVlOgogICAgcHJpbnQobXF0dF9jbGllbnQudGltZV9tc2coKSwgbXF0dF9jbGllbnQuY2xpZW50X2xlbiwgbXF0dF9jbGllbnQuc2VydmVyX2xlbikKICAgIHRpbWUuc2xlZXAoMTApCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgcnRjdGltZS5zZXR0aW1lKG1xdHRfY2xpZW50LnRpbWVfbXNnKCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-11 RFID读取.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-11 RFID读取.mix index 6652ed0c..8b037d84 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-11 RFID读取.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-11 RFID读取.mix @@ -1 +1 @@ -WHILETRUEcardNEQcardMixlycards1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBjYXJkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmQgIT0gTm9uZToKICAgICAgICBwcmludChjYXJkKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEcardNEQcardMixlycards1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBjYXJkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmQgIT0gTm9uZToKICAgICAgICBwcmludChjYXJkKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-16 WIFI扫描.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-16 WIFI扫描.mix index 6aa4b8fb..b0715717 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-16 WIFI扫描.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-16 WIFI扫描.mix @@ -1 +1 @@ -STAwlanTruewlan0,1,2,3wlaniMixlyi{}aW1wb3J0IG5ldHdvcmsKaW1wb3J0IG1hY2hpbmUKCgp3bGFuID0gbmV0d29yay5XTEFOKG5ldHdvcmsuU1RBX0lGKTsKd2xhbi5hY3RpdmUoVHJ1ZSkKZm9yIGkgaW4gd2xhbi5zY2FuKCk6CiAgICBwcmludChpKQo= \ No newline at end of file +STAwlanTruewlan0,1,2,3wlaniMixlyi{}aW1wb3J0IG5ldHdvcmsKaW1wb3J0IG1hY2hpbmUKCgp3bGFuID0gbmV0d29yay5XTEFOKG5ldHdvcmsuU1RBX0lGKTsKd2xhbi5hY3RpdmUoVHJ1ZSkKZm9yIGkgaW4gd2xhbi5zY2FuKCk6CiAgICBwcmludChpKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-4 获取光强.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-4 获取光强.mix index 5b0470e2..7dcd0700 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-4 获取光强.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-4 获取光强.mix @@ -1 +1 @@ -WHILETRUEMixlys0.5{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +WHILETRUEMixlys0.5{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-5 楼道灯.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-5 楼道灯.mix index 6d5b036e..1c65d321 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-5 楼道灯.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第二单元/2-5 楼道灯.mix @@ -1 +1 @@ -WHILETRUEGT100011s310{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSA+IDEwMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMykKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +WHILETRUEGT100011s310{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSA+IDEwMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMykKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-11 停车显示.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-11 停车显示.mix index 96df9089..af1d29c0 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-11 停车显示.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-11 停车显示.mix @@ -1 +1 @@ -clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectA9B9停车场AmethodA停车场BmethodBWHILETRUEonboard_matrix.HEARTHelloxAMixly|MixlyxBmethodAAAmsgmethodBBBmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kQShjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIEEKICAgIEEgPSBtc2cKCmRlZiBtZXRob2RCKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgQgogICAgQiA9IG1zZwoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCkEgPSA5CkIgPSA5Cm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YGc6L2m5Zy6QScsbWV0aG9kQSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WBnOi9puWcukEnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+WBnOi9puWcukInLG1ldGhvZEIsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflgZzovablnLpCJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoQSkgKyAoJ3wnICsgc3RyKEIpKSkK \ No newline at end of file +clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectA9B9停车场AmethodA停车场BmethodBWHILETRUEonboard_matrix.HEARTHelloxAMixly|MixlyxBmethodAAAmsgmethodBBBmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kQShjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIEEKICAgIEEgPSBtc2cKCmRlZiBtZXRob2RCKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgQgogICAgQiA9IG1zZwoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCkEgPSA5CkIgPSA5Cm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YGc6L2m5Zy6QScsbWV0aG9kQSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WBnOi9puWcukEnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+WBnOi9puWcukInLG1ldGhvZEIsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflgZzovablnLpCJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoQSkgKyAoJ3wnICsgc3RyKEIpKSkK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-19 车位检测.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-19 车位检测.mix index 967f200e..4331c319 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-19 车位检测.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-19 车位检测.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProjectWHILETRUEGT10001110s0.1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcxJykKICAgIGVsc2U6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcwJykKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProjectWHILETRUEGT10001110s0.1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcxJykKICAgIGVsc2U6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcwJykKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-20 空位显示.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-20 空位显示.mix index 706f617c..21f34047 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-20 空位显示.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-20 空位显示.mix @@ -1 +1 @@ -clienttopicmsgwifinamewifipasswordmixio.mixly.cnusernamepasswordMyProject0method1method2method余量0各车位状态000WHILETRUEs1余量COUNT各车位状态00onboard_matrix.HEARTx余量method各车位状态EQmsg1mylist各车位状态0intxtopic1mylist各车位状态0intxtopic0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5ZCE6L2m5L2N54q25oCBCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOWQhOi9puS9jeeKtuaAgVtpbnQodG9waWMpXSA9IDEKICAgIGVsc2U6CiAgICAgICAg5ZCE6L2m5L2N54q25oCBW2ludCh0b3BpYyldID0gMAoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCd3aWZpbmFtZScsJ3dpZmlwYXNzd29yZCcpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcwJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcwJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcxJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcxJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcyJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcyJykK5L2Z6YePID0gMArlkITovabkvY3nirbmgIEgPSBbMCwgMCwgMF0Kd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICB0aW1lLnNsZWVwKDEpCiAgICDkvZnph48gPSDlkITovabkvY3nirbmgIEuY291bnQoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijkvZnph48pKQo= \ No newline at end of file +clienttopicmsgwifinamewifipasswordmixio.mixly.cnusernamepasswordMyProject0method1method2method余量0各车位状态000WHILETRUEs1余量COUNT各车位状态00onboard_matrix.HEARTx余量method各车位状态EQmsg1mylist各车位状态0intxtopic1mylist各车位状态0intxtopic0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5ZCE6L2m5L2N54q25oCBCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOWQhOi9puS9jeeKtuaAgVtpbnQodG9waWMpXSA9IDEKICAgIGVsc2U6CiAgICAgICAg5ZCE6L2m5L2N54q25oCBW2ludCh0b3BpYyldID0gMAoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCd3aWZpbmFtZScsJ3dpZmlwYXNzd29yZCcpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcwJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcwJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcxJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcxJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcyJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcyJykK5L2Z6YePID0gMArlkITovabkvY3nirbmgIEgPSBbMCwgMCwgMF0Kd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICB0aW1lLnNsZWVwKDEpCiAgICDkvZnph48gPSDlkITovabkvY3nirbmgIEuY291bnQoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijkvZnph48pKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-9 停车空位.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-9 停车空位.mix index bd0bf18d..532b80a0 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-9 停车空位.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第五单元/5-9 停车空位.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProject已停车辆数量0WHILETRUE车辆IDNEQ车辆ID784100inx车辆ID0,1,2,3已停车辆removemylist已停车辆0车辆IDappendmylist已停车辆0车辆ID余位量MINUS91LENmylist已停车辆停车场msg余位量onboard_matrix.HEARTx余位量s0.2{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWF0aApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQrlt7LlgZzovabovoYgPSBbXQrmlbDph48gPSAwCndoaWxlIFRydWU6CiAgICDovabovoZJRCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovoZJRCAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICBpZiDovabovoZJRCBpbiDlt7LlgZzovabovoY6CiAgICAgICAgICAgIOW3suWBnOi9pui+hi5yZW1vdmUo6L2m6L6GSUQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg5bey5YGc6L2m6L6GLmFwcGVuZCjovabovoZJRCkKICAgICAgICDkvZnkvY3ph48gPSA5IC0gbGVuKOW3suWBnOi9pui+hikKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflgZzovablnLonLCDkvZnkvY3ph48pCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOS9meS9jemHjykpCiAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProject已停车辆数量0WHILETRUE车辆IDNEQ车辆ID784100inx车辆ID0,1,2,3已停车辆removemylist已停车辆0车辆IDappendmylist已停车辆0车辆ID余位量MINUS91LENmylist已停车辆停车场msg余位量onboard_matrix.HEARTx余位量s0.2{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWF0aApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQrlt7LlgZzovabovoYgPSBbXQrmlbDph48gPSAwCndoaWxlIFRydWU6CiAgICDovabovoZJRCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovoZJRCAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICBpZiDovabovoZJRCBpbiDlt7LlgZzovabovoY6CiAgICAgICAgICAgIOW3suWBnOi9pui+hi5yZW1vdmUo6L2m6L6GSUQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg5bey5YGc6L2m6L6GLmFwcGVuZCjovabovoZJRCkKICAgICAgICDkvZnkvY3ph48gPSA5IC0gbGVuKOW3suWBnOi9pui+hikKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflgZzovablnLonLCDkvZnkvY3ph48pCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOS9meS9jemHjykpCiAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-10 摔倒检测.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-10 摔倒检测.mix index 9ea91adf..3e57a847 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-10 摔倒检测.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-10 摔倒检测.mix @@ -1 +1 @@ -wifinamewifipasswordmixio.mixly.cnusernamepasswordMyProjectWHILETRUEGTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]4s0.5LTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]2msg老人可能摔倒了,请尽快查看!{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnd2lmaW5hbWUnLCd3aWZpcGFzc3dvcmQnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBpZiBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0pICsgKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pKSA+IDQ6CiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgaWYgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdKSArIChtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pICsgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzJdKSkgPCAyOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdtc2cnLCAn6ICB5Lq65Y+v6IO95pGU5YCS5LqG77yM6K+35bC95b+r5p+l55yL77yBJykK \ No newline at end of file +wifinamewifipasswordmixio.mixly.cnusernamepasswordMyProjectWHILETRUEGTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]4s0.5LTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]2msg老人可能摔倒了,请尽快查看!{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnd2lmaW5hbWUnLCd3aWZpcGFzc3dvcmQnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBpZiBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0pICsgKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pKSA+IDQ6CiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgaWYgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdKSArIChtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pICsgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzJdKSkgPCAyOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdtc2cnLCAn6ICB5Lq65Y+v6IO95pGU5YCS5LqG77yM6K+35bC95b+r5p+l55yL77yBJykK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-2 温度与光照.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-2 温度与光照.mix index bb571c92..e298c118 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-2 温度与光照.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-2 温度与光照.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProjectWHILETRUE温度msg光照msgs600{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJycsJycpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+a4qeW6picsIG9uYm9hcmRfdGVtcGVyYXR1cmUoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFpycsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNjAwKQo= \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProjectWHILETRUE温度msg光照msgs600{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJycsJycpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+a4qeW6picsIG9uYm9hcmRfdGVtcGVyYXR1cmUoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFpycsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-7 震动强度.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-7 震动强度.mix index 073608fb..5a23c182 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-7 震动强度.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第六单元/2-7 震动强度.mix @@ -1 +1 @@ -WHILETRUEMixlyADD1ADD1fabs0.998[0]1fabs0.998[1]1fabs0.998[2]s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgbWF0aAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludCgoKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pKSArIG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsyXSkpKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEMixlyADD1ADD1fabs0.998[0]1fabs0.998[1]1fabs0.998[2]s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgbWF0aAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludCgoKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pKSArIG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsyXSkpKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-10-11 MIXIO学生抢答.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-10-11 MIXIO学生抢答.mix index 8868f0e7..60bae9ac 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-10-11 MIXIO学生抢答.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-10-11 MIXIO学生抢答.mix @@ -1 +1 @@ -clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题startWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCuWFgeiuuOetlOmimCA9IEZhbHNlCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxzdGFydCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5YWB6K64562U6aKYOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOWtpueUnycsICflsI/mmbonKQogICAgICAgICAgICDlhYHorrjnrZTpopggPSBGYWxzZQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykK \ No newline at end of file +clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题startWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCuWFgeiuuOetlOmimCA9IEZhbHNlCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxzdGFydCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5YWB6K64562U6aKYOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOWtpueUnycsICflsI/mmbonKQogICAgICAgICAgICDlhYHorrjnrZTpopggPSBGYWxzZQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykK \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-15-16 MIXIO学生抢答2.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-15-16 MIXIO学生抢答2.mix index dcfb1604..9cb0d587 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-15-16 MIXIO学生抢答2.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-15-16 MIXIO学生抢答2.mix @@ -1 +1 @@ -clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题start抢答学生studentWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUEstudent允许答题允许答题FALSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCmRlZiBzdHVkZW50KGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5YWB6K64562U6aKYCiAgICDlhYHorrjnrZTpopggPSBGYWxzZQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykK5YWB6K64562U6aKYID0gRmFsc2UKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLHN0YXJ0LCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562U6aKYJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmiqLnrZTlrabnlJ8nLHN0dWRlbnQsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOWFgeiuuOetlOmimDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nLCAn5bCP5pm6JykKICAgICAgICAgICAg5YWB6K64562U6aKYID0gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file +clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题start抢答学生studentWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUEstudent允许答题允许答题FALSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCmRlZiBzdHVkZW50KGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5YWB6K64562U6aKYCiAgICDlhYHorrjnrZTpopggPSBGYWxzZQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykK5YWB6K64562U6aKYID0gRmFsc2UKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLHN0YXJ0LCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562U6aKYJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmiqLnrZTlrabnlJ8nLHN0dWRlbnQsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOWFgeiuuOetlOmimDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nLCAn5bCP5pm6JykKICAgICAgICAgICAg5YWB6K64562U6aKYID0gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-5 MIXIO学生点到.mix b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-5 MIXIO学生点到.mix index b07262fd..44a82c43 100644 --- a/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-5 MIXIO学生点到.mix +++ b/boards/default/micropython_educore/examples/MixGo MINI/北师大版教材示例代码/第四单元/4-5 MIXIO学生点到.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YESWHILETRUEA1key抢答学生小智{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U5a2m55SfJywgJ+Wwj+aZuicpCg== \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YESWHILETRUEA1key抢答学生小智{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U5a2m55SfJywgJ+Wwj+aZuicpCg== \ No newline at end of file diff --git a/boards/default/micropython_educore/index.xml b/boards/default/micropython_educore/index.xml index a7f775f7..7dbeb82e 100644 --- a/boards/default/micropython_educore/index.xml +++ b/boards/default/micropython_educore/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxcontentmylistmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydicts11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixlyxsensoraccaccbutton0rfidinfo1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0speaker2000speaker20001000speakerrgb0000rgbbleblebleMixlyMixly0MixlyMixly500MixlyMixly50010.50car100carcarcar1001001000interrupt_funcinterrupt_functurnsdistancewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipassword0mixio.mixly.cn1883client_idusernamepasswordtopicreceievd_messagetopicmsgreceievd_messageEQtopicmessage1wifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyxsensor000humiture00button0ultrasonic00cameracamerai2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorweight12500weight0pin0servo900parrot0i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81234561connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifinamewifipassword0responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxcontentmylistmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydicts11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixlyxsensoraccaccbutton0rfidinfo1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0speaker2000speaker20001000speakerrgb0000rgbbleblebleMixlyMixly0MixlyMixly500MixlyMixly50010.50car100carcarcar1001001000interrupt_funcinterrupt_functurnsdistancewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipassword0mixio.mixly.cn1883client_idusernamepasswordtopicreceievd_messagetopicmsgreceievd_messageEQtopicmessage1wifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyxsensor000humiture00button0ultrasonic00cameracamerai2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorweight12500weight0pin0servo900parrot0i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81234561connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifinamewifipassword0responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_educore/main.bundle.705ae874.js b/boards/default/micropython_educore/main.bundle.75578a43.js similarity index 82% rename from boards/default/micropython_educore/main.bundle.705ae874.js rename to boards/default/micropython_educore/main.bundle.75578a43.js index 967bff4d..f01d5192 100644 --- a/boards/default/micropython_educore/main.bundle.705ae874.js +++ b/boards/default/micropython_educore/main.bundle.75578a43.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},zt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],zt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ye={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=fe,be={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xe={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ze={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qe={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Yn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},bn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const da=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ba=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vu=function(){return this.getFieldValue("TEXT")+"\n"},Yu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},bu=function(){return""},xu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},bm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(bm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},xm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Qm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},lE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},vE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},YE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(bE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE="#777777",VE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},qR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR="#A58C5B",tc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(pc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},uc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},rc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},lc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Tc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Mc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},mc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Uc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},Wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Jc={init:function(){this.setColour(ZR),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},jc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},eg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ng={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},UP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},JP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},zP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},jP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},tv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ev=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},nv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},sv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},_v=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},ov=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},pv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},av=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},rv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},lv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},dv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Iv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},Tv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},Mv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},hv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},mv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Ev=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Ov=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Rv=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},gv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Sv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Av=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Lv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Dv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Pv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Vv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Kv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Qv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},jv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},tY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},eY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},iY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},nY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},sY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},_Y=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},kY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},WY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},KY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},JY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},jY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},$Y=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},uX=zv,rX=TY,lX=lY,dX=TY,IX=MY,TX=pY,MX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},hX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},mX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},DG=function(){return"control.reset()\n"},fG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},FG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},PG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},XG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},yG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},xG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},VG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},BG=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},GG=function(){return"while True:\n pass\n"},UG=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},wG=function(t,e){return e.definitions_.import_os="import os","os.uname()"},kG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},WG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},KG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},JG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},qG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},zG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},QG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},jG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},$G=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},ZG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},tU=qG,eU=zG,iU=JG,nU=kG,sU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_U=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},aU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},uU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},rU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},lU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},dU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},IU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},TU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},MU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},hU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},mU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},EU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},OU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:RU}=Ct,cU=RU.render(OU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:gU}=Ct,CU=gU.render(OU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:SU}=Ct,AU=SU.render(OU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),LU=new gt.Generator("Python");LU.INDENT=" ",LU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),LU.ORDER_ATOMIC=0,LU.ORDER_COLLECTION=1,LU.ORDER_STRING_CONVERSION=1,LU.ORDER_UNARY_POSTFIX=1,LU.ORDER_UNARY_PREFIX=2,LU.ORDER_MEMBER=2.1,LU.ORDER_FUNCTION_CALL=2.2,LU.ORDER_EXPONENTIATION=3,LU.ORDER_UNARY_SIGN=4,LU.ORDER_BITWISE_NOT=4,LU.ORDER_MULTIPLICATIVE=5,LU.ORDER_ADDITIVE=6,LU.ORDER_BITWISE_SHIFT=7,LU.ORDER_BITWISE_AND=8,LU.ORDER_BITWISE_XOR=9,LU.ORDER_BITWISE_OR=10,LU.ORDER_RELATIONAL=11,LU.ORDER_EQUALITY=11,LU.ORDER_LOGICAL_NOT=12,LU.ORDER_LOGICAL_AND=13,LU.ORDER_LOGICAL_OR=14,LU.ORDER_ASSIGNMENT=14,LU.ORDER_CONDITIONAL=15,LU.ORDER_LAMBDA=16,LU.ORDER_NONE=99,LU.ORDER_OVERRIDES=[[LU.ORDER_FUNCTION_CALL,LU.ORDER_MEMBER],[LU.ORDER_FUNCTION_CALL,LU.ORDER_FUNCTION_CALL],[LU.ORDER_MEMBER,LU.ORDER_MEMBER],[LU.ORDER_MEMBER,LU.ORDER_FUNCTION_CALL]],LU.init=function(){LU.PASS=this.INDENT+"pass\n",LU.definitions_=Object.create(null),LU.functionNames_=Object.create(null),LU.setups_=Object.create(null),LU.loops_=Object.create(null),LU.codeEnd_=Object.create(null),LU.variableDB_?LU.variableDB_.reset():LU.variableDB_=new Nt(LU.RESERVED_WORDS_)},LU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in LU.functions_)o.push(LU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in LU.setups_)p.push(LU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in LU.loops_)a.push(LU.loops_[s]);var u=[];for(var s in LU.codeEnd_)u.push(LU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},LU.scrubNakedValue=function(t){return t+"\n"},LU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},LU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},LU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,LU.COMMENT_WRAP-3),n+=LU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const NU={};NU.mpython={description:"MicroPython[EDUCORE Edu Core]",digital_pin:Ct.Profile.generate(["0-10","18"]),input_pin:Ct.Profile.generate(["0-10","18"]),output_pin:Ct.Profile.generate(["0-10","18"]),pwm_input:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-4"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-10","18"]),pwm:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-4"]),analog:Ct.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-11"]),exlcdv:Ct.Profile.generate(["0-7"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},NU["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const DU=NU,fU=20,FU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},PU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},vU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},YU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},XU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},yU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},bU={init:function(){this.setColour(fU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},xU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},VU={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},BU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},GU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},UU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},wU=VU,kU=GU,HU=bU,WU=xU,KU=40,JU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},qU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},QU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},jU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},$U={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"True"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ew=100,iw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[gt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},nw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},sw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},_w={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ow={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},pw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[gt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.ROTATION_FORWARD,"CW"],[gt.Msg.ROTATION_BACKWARD,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_INTERRUPT).appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},lw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Iw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Tw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT,"[0]"],[gt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[gt.Msg.MIXGO_LEFT_BACK,"[3]"],[gt.Msg.MIXGO_RIGHT_BACK,"[2]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[gt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[gt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[gt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.ME_GO_PITCH,"[0]"],[gt.Msg.ME_GO_ROLL,"[1]"],[gt.Msg.ME_GO_PITCH+", "+gt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},rk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},dk=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Ik=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Tk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Mk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},hk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ek=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Rk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,e.ORDER_ATOMIC]},gk=function(t,e){e.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",e.ORDER_ATOMIC]},Ck=function(t,e){if(e.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Ct.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{e.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,e.ORDER_ATOMIC]},Sk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},Ak=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},Lk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},Nk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},Dk=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",e.ORDER_ATOMIC]},Pk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",e.ORDER_ATOMIC]},vk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Yk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)+")\n"},Xk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yk=function(t,e){var i=this.getFieldValue("wheel");e.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},bk=function(t,e){var i=this.getFieldValue("mode");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+")\n"},xk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=e.valueToCode(this,"num",e.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},Vk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,e.ORDER_ATOMIC]},Bk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,e.ORDER_ATOMIC]},Gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,e.ORDER_ATOMIC]},Uk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wk=function(t,e){return e.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},kk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,e.ORDER_ATOMIC]},Hk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Wk=Hk,Kk=Hk,Jk=Hk,qk=Hk,zk=Hk,Qk=Hk,jk=Hk,$k=Hk,Zk=Hk,tH=Hk,eH=Hk,iH=Hk,nH=Hk,sH=Hk,_H=Hk,oH=Hk,pH=Hk,aH=Hk,uH=Hk,rH=Hk,lH=Hk,dH=Hk,IH=Hk,TH=Hk,MH=Hk,hH=Hk,mH=Hk,EH=Hk,OH=Hk,RH=Hk,cH=Hk,gH=Hk,CH=Hk,SH=Hk,AH=Hk,LH=Hk,NH=Hk,DH=Hk,fH=Hk,FH=Hk,PH=Hk,vH=Hk,YH=Hk,XH=Hk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,lt),Object.assign(gt.Lang.ZhHant,dt),Object.assign(gt.Lang.En,It),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,DU),Object.assign(Ct.Profile.default,DU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,H,k,X,B,W,f,w,U,G,F,D,N,b,y,x,P,v,Y,Tt,Mt,ht,mt),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,nt,ut,at,Z,st,rt,q,pt,ot,_t,z,J,K,et,tt,it,Q,j,$,Et,Ot,Rt,ct)})(); \ No newline at end of file +class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},zt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],zt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ye={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=fe,be={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xe={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ze={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qe={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Yn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},bn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const da=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ba=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vu=function(){return this.getFieldValue("TEXT")+"\n"},Yu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},bu=function(){return""},xu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},bm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(bm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},xm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Qm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},lE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},vE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},YE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(bE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE="#777777",VE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},qR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR="#A58C5B",tc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(pc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},uc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},rc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},lc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Tc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Mc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},mc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Uc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},Wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Jc={init:function(){this.setColour(ZR),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},jc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},eg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ng={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},UP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},JP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},zP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},jP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},tv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ev=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},nv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},sv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},_v=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},ov=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},pv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},av=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},rv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},lv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},dv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Iv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},Tv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},Mv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},hv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},mv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Ev=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Ov=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Rv=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},gv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Sv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Av=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Lv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Dv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Pv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Vv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Kv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Qv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform()))return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},jv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},tY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},eY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},iY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},nY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},sY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},_Y=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},kY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},WY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},KY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},JY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},jY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},$Y=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},uX=zv,rX=TY,lX=lY,dX=TY,IX=MY,TX=pY,MX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},hX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},mX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},DG=function(){return"control.reset()\n"},fG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},FG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},PG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},XG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},yG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},xG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},VG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},BG=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},GG=function(){return"while True:\n pass\n"},UG=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},wG=function(t,e){return e.definitions_.import_os="import os","os.uname()"},kG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},WG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},KG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},JG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},qG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},zG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},QG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},jG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},$G=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},ZG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},tU=qG,eU=zG,iU=JG,nU=kG,sU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_U=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},aU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},uU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},rU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},lU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},dU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},IU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},TU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},MU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},hU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},mU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},EU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},OU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:RU}=Ct,cU=RU.render(OU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:gU}=Ct,CU=gU.render(OU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:SU}=Ct,AU=SU.render(OU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),LU=new gt.Generator("Python");LU.INDENT=" ",LU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),LU.ORDER_ATOMIC=0,LU.ORDER_COLLECTION=1,LU.ORDER_STRING_CONVERSION=1,LU.ORDER_UNARY_POSTFIX=1,LU.ORDER_UNARY_PREFIX=2,LU.ORDER_MEMBER=2.1,LU.ORDER_FUNCTION_CALL=2.2,LU.ORDER_EXPONENTIATION=3,LU.ORDER_UNARY_SIGN=4,LU.ORDER_BITWISE_NOT=4,LU.ORDER_MULTIPLICATIVE=5,LU.ORDER_ADDITIVE=6,LU.ORDER_BITWISE_SHIFT=7,LU.ORDER_BITWISE_AND=8,LU.ORDER_BITWISE_XOR=9,LU.ORDER_BITWISE_OR=10,LU.ORDER_RELATIONAL=11,LU.ORDER_EQUALITY=11,LU.ORDER_LOGICAL_NOT=12,LU.ORDER_LOGICAL_AND=13,LU.ORDER_LOGICAL_OR=14,LU.ORDER_ASSIGNMENT=14,LU.ORDER_CONDITIONAL=15,LU.ORDER_LAMBDA=16,LU.ORDER_NONE=99,LU.ORDER_OVERRIDES=[[LU.ORDER_FUNCTION_CALL,LU.ORDER_MEMBER],[LU.ORDER_FUNCTION_CALL,LU.ORDER_FUNCTION_CALL],[LU.ORDER_MEMBER,LU.ORDER_MEMBER],[LU.ORDER_MEMBER,LU.ORDER_FUNCTION_CALL]],LU.init=function(){LU.PASS=this.INDENT+"pass\n",LU.definitions_=Object.create(null),LU.functionNames_=Object.create(null),LU.setups_=Object.create(null),LU.loops_=Object.create(null),LU.codeEnd_=Object.create(null),LU.variableDB_?LU.variableDB_.reset():LU.variableDB_=new Nt(LU.RESERVED_WORDS_)},LU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in LU.functions_)o.push(LU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in LU.setups_)p.push(LU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in LU.loops_)a.push(LU.loops_[s]);var u=[];for(var s in LU.codeEnd_)u.push(LU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},LU.scrubNakedValue=function(t){return t+"\n"},LU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},LU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},LU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,LU.COMMENT_WRAP-3),n+=LU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const NU={};NU.mpython={description:"MicroPython[EDUCORE Edu Core]",digital_pin:Ct.Profile.generate(["0-10","18"]),input_pin:Ct.Profile.generate(["0-10","18"]),output_pin:Ct.Profile.generate(["0-10","18"]),pwm_input:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-4"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-10","18"]),pwm:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-4"]),analog:Ct.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-11"]),exlcdv:Ct.Profile.generate(["0-7"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},NU["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const DU=NU,fU=20,FU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},PU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},vU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},YU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},XU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},yU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},bU={init:function(){this.setColour(fU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},xU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},VU={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},BU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},GU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},UU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},wU=VU,kU=GU,HU=bU,WU=xU,KU=40,JU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},qU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},QU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},jU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},$U={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"True"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ew=100,iw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[gt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},nw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},sw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},_w={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ow={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},pw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[gt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.ROTATION_FORWARD,"CW"],[gt.Msg.ROTATION_BACKWARD,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_INTERRUPT).appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},lw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Iw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Tw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT,"[0]"],[gt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[gt.Msg.MIXGO_LEFT_BACK,"[3]"],[gt.Msg.MIXGO_RIGHT_BACK,"[2]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[gt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[gt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[gt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.ME_GO_PITCH,"[0]"],[gt.Msg.ME_GO_ROLL,"[1]"],[gt.Msg.ME_GO_PITCH+", "+gt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},rk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},dk=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Ik=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Tk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Mk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},hk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ek=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Rk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,e.ORDER_ATOMIC]},gk=function(t,e){e.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",e.ORDER_ATOMIC]},Ck=function(t,e){if(e.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Ct.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{e.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,e.ORDER_ATOMIC]},Sk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},Ak=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},Lk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},Nk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},Dk=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",e.ORDER_ATOMIC]},Pk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",e.ORDER_ATOMIC]},vk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Yk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)+")\n"},Xk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yk=function(t,e){var i=this.getFieldValue("wheel");e.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},bk=function(t,e){var i=this.getFieldValue("mode");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+")\n"},xk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=e.valueToCode(this,"num",e.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},Vk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,e.ORDER_ATOMIC]},Bk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,e.ORDER_ATOMIC]},Gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,e.ORDER_ATOMIC]},Uk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wk=function(t,e){return e.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},kk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,e.ORDER_ATOMIC]},Hk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Wk=Hk,Kk=Hk,Jk=Hk,qk=Hk,zk=Hk,Qk=Hk,jk=Hk,$k=Hk,Zk=Hk,tH=Hk,eH=Hk,iH=Hk,nH=Hk,sH=Hk,_H=Hk,oH=Hk,pH=Hk,aH=Hk,uH=Hk,rH=Hk,lH=Hk,dH=Hk,IH=Hk,TH=Hk,MH=Hk,hH=Hk,mH=Hk,EH=Hk,OH=Hk,RH=Hk,cH=Hk,gH=Hk,CH=Hk,SH=Hk,AH=Hk,LH=Hk,NH=Hk,DH=Hk,fH=Hk,FH=Hk,PH=Hk,vH=Hk,YH=Hk,XH=Hk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,lt),Object.assign(gt.Lang.ZhHant,dt),Object.assign(gt.Lang.En,It),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,DU),Object.assign(Ct.Profile.default,DU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,H,k,X,B,W,f,w,U,G,F,D,N,b,y,x,P,v,Y,Tt,Mt,ht,mt),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,nt,ut,at,Z,st,rt,q,pt,ot,_t,z,J,K,et,tt,it,Q,j,$,Et,Ot,Rt,ct)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32/examples/MixGo/01-1-快速入门-你好世界.mix index e2051614..b911a947 100644 --- a/boards/default/micropython_esp32/examples/MixGo/01-1-快速入门-你好世界.mix +++ b/boards/default/micropython_esp32/examples/MixGo/01-1-快速入门-你好世界.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTHello,Mixly!{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK \ No newline at end of file +WHILETRUEonboard_matrix.HEARTHello,Mixly!{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32/examples/MixGo/01-2-快速入门-你好世界2.mix index 7687a27c..6a5cda20 100644 --- a/boards/default/micropython_esp32/examples/MixGo/01-2-快速入门-你好世界2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/01-2-快速入门-你好世界2.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTonboard_matrix.HEARTHello,Mixly!050{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo= \ No newline at end of file +WHILETRUEonboard_matrix.HEARTonboard_matrix.HEARTHello,Mixly!050{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32/examples/MixGo/02-1-快速入门-跳动的心.mix index adea8428..a0e28f03 100644 --- a/boards/default/micropython_esp32/examples/MixGo/02-1-快速入门-跳动的心.mix +++ b/boards/default/micropython_esp32/examples/MixGo/02-1-快速入门-跳动的心.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32/examples/MixGo/02-2-快速入门-为你心动.mix index 76b8ec22..38e816cb 100644 --- a/boards/default/micropython_esp32/examples/MixGo/02-2-快速入门-为你心动.mix +++ b/boards/default/micropython_esp32/examples/MixGo/02-2-快速入门-为你心动.mix @@ -1 +1 @@ -MixlyWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +MixlyWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32/examples/MixGo/03-1-快速入门-心随我动.mix index 71a380ff..b20a3cf7 100644 --- a/boards/default/micropython_esp32/examples/MixGo/03-1-快速入门-心随我动.mix +++ b/boards/default/micropython_esp32/examples/MixGo/03-1-快速入门-心随我动.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HEARTonboard_matrix.HEART_SMALL{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg== \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HEARTonboard_matrix.HEART_SMALL{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32/examples/MixGo/03-2-快速入门-心随我动2.mix index a6343fba..b1f9266a 100644 --- a/boards/default/micropython_esp32/examples/MixGo/03-2-快速入门-心随我动2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/03-2-快速入门-心随我动2.mix @@ -1 +1 @@ -WHILETRUEANDB1keyB2keyonboard_matrix.SADB1keyonboard_matrix.HEARTB2keyonboard_matrix.HEART_SMALLonboard_matrix.SMILE{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo= \ No newline at end of file +WHILETRUEANDB1keyB2keyonboard_matrix.SADB1keyonboard_matrix.HEARTB2keyonboard_matrix.HEART_SMALLonboard_matrix.SMILE{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32/examples/MixGo/04-1-快速入门-流动的灯.mix index 5a344e8b..674d31bd 100644 --- a/boards/default/micropython_esp32/examples/MixGo/04-1-快速入门-流动的灯.mix +++ b/boards/default/micropython_esp32/examples/MixGo/04-1-快速入门-流动的灯.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3021i0i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3021i0i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯2.mix index db8903f0..774331eb 100644 --- a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯2.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3021i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3021i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯3.mix b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯3.mix index 45aeb583..a259442e 100644 --- a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯3.mix +++ b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯3.mix @@ -1 +1 @@ -0,1,2,3081Y0,1,2,30121X0X0YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +0,1,2,3081Y0,1,2,30121X0X0YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯4.mix b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯4.mix index 6867a995..7b98ad28 100644 --- a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯4.mix +++ b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯4.mix @@ -1 +1 @@ -0,1,2,3082Y0,1,2,30121X0X0YONs0.10,1,2,311-1-1X0X0ADD1Y1ONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +0,1,2,3082Y0,1,2,30121X0X0YONs0.10,1,2,311-1-1X0X0ADD1Y1ONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯5.mix b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯5.mix index 6bac4551..c78dd433 100644 --- a/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯5.mix +++ b/boards/default/micropython_esp32/examples/MixGo/04-2-快速入门-流动的灯5.mix @@ -1 +1 @@ -0,1,2,30122X0,1,2,3081Y0X0YONs0.10,1,2,37-1-1Y0ADD1X10YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +0,1,2,30122X0,1,2,3081Y0X0YONs0.10,1,2,37-1-1Y0ADD1X10YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32/examples/MixGo/05-1-过程控制-双键开关.mix index e85c3f5b..5cfeaea2 100644 --- a/boards/default/micropython_esp32/examples/MixGo/05-1-过程控制-双键开关.mix +++ b/boards/default/micropython_esp32/examples/MixGo/05-1-过程控制-双键开关.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HEARTB2key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HEARTB2key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/05-2-快速入门-单键开关2.mix b/boards/default/micropython_esp32/examples/MixGo/05-2-快速入门-单键开关2.mix index f28225a4..f3fd0306 100644 --- a/boards/default/micropython_esp32/examples/MixGo/05-2-快速入门-单键开关2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/05-2-快速入门-单键开关2.mix @@ -1 +1 @@ -WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file +WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32/examples/MixGo/05-2-过程控制-单键开关.mix index d1efda41..93a64a2c 100644 --- a/boards/default/micropython_esp32/examples/MixGo/05-2-过程控制-单键开关.mix +++ b/boards/default/micropython_esp32/examples/MixGo/05-2-过程控制-单键开关.mix @@ -1 +1 @@ -WHILETRUEB1keytrueonboard_matrix.HEARTB1key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +WHILETRUEB1keytrueonboard_matrix.HEARTB1key{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32/examples/MixGo/05-3-过程控制-IPO概念.mix index 993b31af..6010822d 100644 --- a/boards/default/micropython_esp32/examples/MixGo/05-3-过程控制-IPO概念.mix +++ b/boards/default/micropython_esp32/examples/MixGo/05-3-过程控制-IPO概念.mix @@ -1 +1 @@ -显示FALSEWHILETRUEB1key显示显示显示onboard_matrix.HEART{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +显示FALSEWHILETRUEB1key显示显示显示onboard_matrix.HEART{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32/examples/MixGo/06-1-过程控制-声音采集.mix index 94350652..2ffe304c 100644 --- a/boards/default/micropython_esp32/examples/MixGo/06-1-过程控制-声音采集.mix +++ b/boards/default/micropython_esp32/examples/MixGo/06-1-过程控制-声音采集.mix @@ -1 +1 @@ -WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file +WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32/examples/MixGo/06-2-过程控制-看见声音.mix index 3b95e54a..2efc2f17 100644 --- a/boards/default/micropython_esp32/examples/MixGo/06-2-过程控制-看见声音.mix +++ b/boards/default/micropython_esp32/examples/MixGo/06-2-过程控制-看见声音.mix @@ -1 +1 @@ -WHILETRUEMixly0,1,2,305intx500100071y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEMixly0,1,2,305intx500100071y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32/examples/MixGo/07-1-过程控制-光强采集.mix index 12686eb2..32d3af34 100644 --- a/boards/default/micropython_esp32/examples/MixGo/07-1-过程控制-光强采集.mix +++ b/boards/default/micropython_esp32/examples/MixGo/07-1-过程控制-光强采集.mix @@ -1 +1 @@ -WHILETRUEMixlyFalseMixlyxintx0s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEMixlyFalseMixlyxintx0s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32/examples/MixGo/07-2-过程控制-自动补光.mix index 2e8faa2e..216950f5 100644 --- a/boards/default/micropython_esp32/examples/MixGo/07-2-过程控制-自动补光.mix +++ b/boards/default/micropython_esp32/examples/MixGo/07-2-过程控制-自动补光.mix @@ -1 +1 @@ -当前光强0补光大小0WHILETRUE当前光强intxMixly当前光强FalseMixlyx当前光强0补光大小1000MINUS251当前光强0250补光大小0补光大小0补光大小{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +当前光强0补光大小0WHILETRUE当前光强intxMixly当前光强FalseMixlyx当前光强0补光大小1000MINUS251当前光强0250补光大小0补光大小0补光大小{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32/examples/MixGo/08-1-过程控制-接近检测.mix index 306e8683..285228a9 100644 --- a/boards/default/micropython_esp32/examples/MixGo/08-1-过程控制-接近检测.mix +++ b/boards/default/micropython_esp32/examples/MixGo/08-1-过程控制-接近检测.mix @@ -1 +1 @@ -接近距离0WHILETRUE接近距离intxMixly接近距离Mixlyx接近距离{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg== \ No newline at end of file +接近距离0WHILETRUE接近距离intxMixly接近距离Mixlyx接近距离{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32/examples/MixGo/08-2-过程控制-入侵报警.mix index ff84d40a..6a139357 100644 --- a/boards/default/micropython_esp32/examples/MixGo/08-2-过程控制-入侵报警.mix +++ b/boards/default/micropython_esp32/examples/MixGo/08-2-过程控制-入侵报警.mix @@ -1 +1 @@ -接近距离0是否报警FALSEWHILETRUE接近距离intxMixly接近距离FalseMixlyxZHENGCHU1接近距离1000是否报警GT接近距离1000是否报警onboard_music.DADADADUM{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +接近距离0是否报警FALSEWHILETRUE接近距离intxMixly接近距离FalseMixlyxZHENGCHU1接近距离1000是否报警GT接近距离1000是否报警onboard_music.DADADADUM{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32/examples/MixGo/09-1-输入输出-加速度.mix index 05a0e9b3..cc27dbf6 100644 --- a/boards/default/micropython_esp32/examples/MixGo/09-1-输入输出-加速度.mix +++ b/boards/default/micropython_esp32/examples/MixGo/09-1-输入输出-加速度.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32/examples/MixGo/09-2-输入输出-平衡仪.mix index 7e7c1c2d..044d26eb 100644 --- a/boards/default/micropython_esp32/examples/MixGo/09-2-输入输出-平衡仪.mix +++ b/boards/default/micropython_esp32/examples/MixGo/09-2-输入输出-平衡仪.mix @@ -1 +1 @@ -x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/10-1-输入输出-地磁强度.mix b/boards/default/micropython_esp32/examples/MixGo/10-1-输入输出-地磁强度.mix index 23bfecfe..8e18b8dc 100644 --- a/boards/default/micropython_esp32/examples/MixGo/10-1-输入输出-地磁强度.mix +++ b/boards/default/micropython_esp32/examples/MixGo/10-1-输入输出-地磁强度.mix @@ -1 +1 @@ -WHILETRUEMixlyalls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEMixlyalls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/10-2-输入输出-金属探测.mix b/boards/default/micropython_esp32/examples/MixGo/10-2-输入输出-金属探测.mix index 07d16a1f..4ae0a6b7 100644 --- a/boards/default/micropython_esp32/examples/MixGo/10-2-输入输出-金属探测.mix +++ b/boards/default/micropython_esp32/examples/MixGo/10-2-输入输出-金属探测.mix @@ -1 +1 @@ -WHILETRUEGTall2000440100TrueGO0s1B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file +WHILETRUEGTall2000440100TrueGO0s1B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/11-1-输入输出-点阵控制.mix b/boards/default/micropython_esp32/examples/MixGo/11-1-输入输出-点阵控制.mix index 3ba14ebd..a213abf7 100644 --- a/boards/default/micropython_esp32/examples/MixGo/11-1-输入输出-点阵控制.mix +++ b/boards/default/micropython_esp32/examples/MixGo/11-1-输入输出-点阵控制.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONms100,1,2,30121x0,1,2,3081y0x0yONms10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgZm9yIHggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file +WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONms100,1,2,30121x0,1,2,3081y0x0yONms10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgZm9yIHggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/11-2-输入输出-光标控制.mix b/boards/default/micropython_esp32/examples/MixGo/11-2-输入输出-光标控制.mix index 74630e65..250ce9b2 100644 --- a/boards/default/micropython_esp32/examples/MixGo/11-2-输入输出-光标控制.mix +++ b/boards/default/micropython_esp32/examples/MixGo/11-2-输入输出-光标控制.mix @@ -1 +1 @@ -64ONWHILETRUEA1keyshift_down1A2keyshift_left1A3keyshift_up1A4keyshift_right1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK \ No newline at end of file +64ONWHILETRUEA1keyshift_down1A2keyshift_left1A3keyshift_up1A4keyshift_right1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32/examples/MixGo/12-1-输入输出-实时时钟.mix index 2de81391..8db17e51 100644 --- a/boards/default/micropython_esp32/examples/MixGo/12-1-输入输出-实时时钟.mix +++ b/boards/default/micropython_esp32/examples/MixGo/12-1-输入输出-实时时钟.mix @@ -1 +1 @@ -20244221445WHILETRUEMixlys1{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +20244221445WHILETRUEMixlys1{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32/examples/MixGo/12-2-输入输出-实时时钟2.mix index 00ddaa1c..752f5b27 100644 --- a/boards/default/micropython_esp32/examples/MixGo/12-2-输入输出-实时时钟2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/12-2-输入输出-实时时钟2.mix @@ -1 +1 @@ -202442210445WHILETRUEmytupMixly{}:{}:{}xmytup3xmytup4xmytup5s0.5{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +202442210445WHILETRUEmytupMixly{}:{}:{}xmytup3xmytup4xmytup5s0.5{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32/examples/MixGo/13-1-逻辑计算-手速测试.mix index b8ea46bc..3423a3c5 100644 --- a/boards/default/micropython_esp32/examples/MixGo/13-1-逻辑计算-手速测试.mix +++ b/boards/default/micropython_esp32/examples/MixGo/13-1-逻辑计算-手速测试.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻MixlyxMINUS1抬起时刻1按下时刻{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo= \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻MixlyxMINUS1抬起时刻1按下时刻{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32/examples/MixGo/13-2-逻辑计算-手速测试2.mix index fde82a4c..969c8881 100644 --- a/boards/default/micropython_esp32/examples/MixGo/13-2-逻辑计算-手速测试2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/13-2-逻辑计算-手速测试2.mix @@ -1 +1 @@ -灯数按下时刻0抬起时刻0间隔时间0WHILETRUEB1key按下时刻mstrueB1key抬起时刻ms间隔时间MINUS1抬起时刻1按下时刻Mixly间隔时间FalseMixlyxQUYU1间隔时间1000min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKF9FN184MV9BRl9FNl85NV9CMCk6CiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIF9FN184MV9BRl9FNl85NV9CMCwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMjApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICAgICAgcHJpbnQoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cigoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ICUgMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQVJHQihtaW4oX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0IC8vIDEwMCwgMikpCg== \ No newline at end of file +灯数按下时刻0抬起时刻0间隔时间0WHILETRUEB1key按下时刻mstrueB1key抬起时刻ms间隔时间MINUS1抬起时刻1按下时刻Mixly间隔时间FalseMixlyxQUYU1间隔时间1000min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKF9FN184MV9BRl9FNl85NV9CMCk6CiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIF9FN184MV9BRl9FNl85NV9CMCwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMjApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICAgICAgcHJpbnQoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cigoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ICUgMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQVJHQihtaW4oX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0IC8vIDEwMCwgMikpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32/examples/MixGo/14-1-逻辑计算-反应测试.mix index a068c948..47f5b45b 100644 --- a/boards/default/micropython_esp32/examples/MixGo/14-1-逻辑计算-反应测试.mix +++ b/boards/default/micropython_esp32/examples/MixGo/14-1-逻辑计算-反应测试.mix @@ -1 +1 @@ -灯数亮屏时刻0按下时刻0间隔时间0WHILETRUEs1float12onboard_matrix.HEART亮屏时刻mstrueB1key按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICBwcmludChfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRTZfOThfQkVfRTdfQTRfQkFSR0IobWluKF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCAvLyAxMDAsIDIpKQo= \ No newline at end of file +灯数亮屏时刻0按下时刻0间隔时间0WHILETRUEs1float12onboard_matrix.HEART亮屏时刻mstrueB1key按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICBwcmludChfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRTZfOThfQkVfRTdfQTRfQkFSR0IobWluKF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCAvLyAxMDAsIDIpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32/examples/MixGo/14-2-逻辑计算-反应测试2.mix index 1a718ab3..1df90fff 100644 --- a/boards/default/micropython_esp32/examples/MixGo/14-2-逻辑计算-反应测试2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/14-2-逻辑计算-反应测试2.mix @@ -1 +1 @@ -灯数亮屏时刻0按下时刻0间隔时间0显示图像0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART亮屏时刻mstrueORB1keyA1keyORANDB1keyEQ显示图像1ANDA1keyEQ显示图像0按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002onboard_matrix.NO显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkgb3IgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQgogICAgICAgIHByaW50KF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKG1pbihfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgLy8gMTAwLCAyKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file +灯数亮屏时刻0按下时刻0间隔时间0显示图像0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART亮屏时刻mstrueORB1keyA1keyORANDB1keyEQ显示图像1ANDA1keyEQ显示图像0按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002onboard_matrix.NO显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkgb3IgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQgogICAgICAgIHByaW50KF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKG1pbihfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgLy8gMTAwLCAyKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32/examples/MixGo/15-1-逻辑计算-简单打地鼠.mix index 86c4a2ac..fbeffd35 100644 --- a/boards/default/micropython_esp32/examples/MixGo/15-1-逻辑计算-简单打地鼠.mix +++ b/boards/default/micropython_esp32/examples/MixGo/15-1-逻辑计算-简单打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSk6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSk6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32/examples/MixGo/15-2-逻辑计算-计时打地鼠.mix index bfbfeec4..902fa70c 100644 --- a/boards/default/micropython_esp32/examples/MixGo/15-2-逻辑计算-计时打地鼠.mix +++ b/boards/default/micropython_esp32/examples/MixGo/15-2-逻辑计算-计时打地鼠.mix @@ -1 +1 @@ -亮屏时刻0按下时刻0显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1key按下时刻msMixlyMINUS1按下时刻1亮屏时刻ANDORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1LTMINUS1按下时刻1亮屏时刻500ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgcHJpbnQoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQikpCiAgICBpZiAoKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkpIGFuZCBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPCA1MDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +亮屏时刻0按下时刻0显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1key按下时刻msMixlyMINUS1按下时刻1亮屏时刻ANDORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1LTMINUS1按下时刻1亮屏时刻500ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgcHJpbnQoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQikpCiAgICBpZiAoKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkpIGFuZCBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPCA1MDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32/examples/MixGo/16-1-逻辑计算-开始打地鼠.mix index 90ef1e24..ed5c8b8e 100644 --- a/boards/default/micropython_esp32/examples/MixGo/16-1-逻辑计算-开始打地鼠.mix +++ b/boards/default/micropython_esp32/examples/MixGo/16-1-逻辑计算-开始打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0B2key游戏开始TRUE0100游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDEwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCg== \ No newline at end of file +显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0B2key游戏开始TRUE0100游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDEwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32/examples/MixGo/16-2-逻辑计算-循环打地鼠.mix index 7f3745d0..42b579f2 100644 --- a/boards/default/micropython_esp32/examples/MixGo/16-2-逻辑计算-循环打地鼠.mix +++ b/boards/default/micropython_esp32/examples/MixGo/16-2-逻辑计算-循环打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0GT游戏得分10游戏开始FALSEB2key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0200游戏得分0游戏开始FALSEFalse0000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMjAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ+i1oicsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPiAxMDoKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICAgICAgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIF9FOF9BRV9CRV9FN19CRF9BRV9FNl9COF9COF9FNl84OF84Rl9FN184QV9CNl9FNl84MF84MSgpCg== \ No newline at end of file +显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0GT游戏得分10游戏开始FALSEB2key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0200游戏得分0游戏开始FALSEFalse0000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMjAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ+i1oicsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPiAxMDoKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICAgICAgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIF9FOF9BRV9CRV9FN19CRF9BRV9FNl9COF9COF9FNl84OF84Rl9FN184QV9CNl9FNl84MF84MSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32/examples/MixGo/17-0-复杂控制-非中断效果.mix index 4ebb7b5d..7bf803d6 100644 --- a/boards/default/micropython_esp32/examples/MixGo/17-0-复杂控制-非中断效果.mix +++ b/boards/default/micropython_esp32/examples/MixGo/17-0-复杂控制-非中断效果.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5B1key202020B2key000{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file +WHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5B1key202020B2key000{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32/examples/MixGo/17-2-复杂控制-单键中断.mix index 3338bad1..0527f84b 100644 --- a/boards/default/micropython_esp32/examples/MixGo/17-2-复杂控制-单键中断.mix +++ b/boards/default/micropython_esp32/examples/MixGo/17-2-复杂控制-单键中断.mix @@ -1 +1 @@ -x是否亮灯FALSEmachine.Pin.IRQ_RISINGB2keyattachInterrupt_funcWHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +x是否亮灯FALSEmachine.Pin.IRQ_RISINGB2keyattachInterrupt_funcWHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32/examples/MixGo/18-1-复杂控制-定时计时.mix index 9e981601..72bcc4b9 100644 --- a/boards/default/micropython_esp32/examples/MixGo/18-1-复杂控制-定时计时.mix +++ b/boards/default/micropython_esp32/examples/MixGo/18-1-复杂控制-定时计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1FalseMixlyx计时0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg== \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1FalseMixlyx计时0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32/examples/MixGo/18-2-复杂控制-循环计时.mix index 794124db..0cf89f35 100644 --- a/boards/default/micropython_esp32/examples/MixGo/18-2-复杂控制-循环计时.mix +++ b/boards/default/micropython_esp32/examples/MixGo/18-2-复杂控制-循环计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0FalseMixlyx计时0tim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCBfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgX0U4X0FFX0ExX0U2Xzk3X0I2ID0gMAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FOF9BRV9BMV9FNl85N19CNiksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0FalseMixlyx计时0tim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCBfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgX0U4X0FFX0ExX0U2Xzk3X0I2ID0gMAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FOF9BRV9BMV9FNl85N19CNiksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32/examples/MixGo/19-1-复杂控制-多线程.mix index 120c84e7..0d0778bd 100644 --- a/boards/default/micropython_esp32/examples/MixGo/19-1-复杂控制-多线程.mix +++ b/boards/default/micropython_esp32/examples/MixGo/19-1-复杂控制-多线程.mix @@ -1 +1 @@ -音乐FALSEtestThreadWHILETRUEB1key音乐音乐onboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +音乐FALSEtestThreadWHILETRUEB1key音乐音乐onboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32/examples/MixGo/19-2-复杂控制-多线程与中断.mix index 9c73c984..dc684487 100644 --- a/boards/default/micropython_esp32/examples/MixGo/19-2-复杂控制-多线程与中断.mix +++ b/boards/default/micropython_esp32/examples/MixGo/19-2-复杂控制-多线程与中断.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUMattachInterrupt_func音乐音乐音乐{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIF9FOV85Rl9CM19FNF9COV85MAogICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUMattachInterrupt_func音乐音乐音乐{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIF9FOV85Rl9CM19FNF9COV85MAogICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32/examples/MixGo/20-1-复杂控制-异常.mix index ee6f5756..b2f2560d 100644 --- a/boards/default/micropython_esp32/examples/MixGo/20-1-复杂控制-异常.mix +++ b/boards/default/micropython_esp32/examples/MixGo/20-1-复杂控制-异常.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量attachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYK \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量attachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32/examples/MixGo/20-2-复杂控制-异常处理.mix index e93326dc..34beee4b 100644 --- a/boards/default/micropython_esp32/examples/MixGo/20-2-复杂控制-异常处理.mix +++ b/boards/default/micropython_esp32/examples/MixGo/20-2-复杂控制-异常处理.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量Exception as eeattachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHRyeToKICAgICAgICBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYgPSBub3QgX0U5Xzk0Xzk5X0U4X0FGX0FGX0U1XzhGXzk4X0U5Xzg3XzhGCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcGFzcwo= \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量Exception as eeattachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHRyeToKICAgICAgICBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYgPSBub3QgX0U5Xzk0Xzk5X0U4X0FGX0FGX0U1XzhGXzk4X0U5Xzg3XzhGCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/23-2 蓝牙键鼠-蓝牙翻页.mix b/boards/default/micropython_esp32/examples/MixGo/23-2 蓝牙键鼠-蓝牙翻页.mix index b3582fdd..e93cf4b6 100644 --- a/boards/default/micropython_esp32/examples/MixGo/23-2 蓝牙键鼠-蓝牙翻页.mix +++ b/boards/default/micropython_esp32/examples/MixGo/23-2 蓝牙键鼠-蓝牙翻页.mix @@ -1 +1 @@ -ble_keyboard_mousetruewaitting784150659150WHILETRUEA1keyTrue0x000x52A3keyTrue0x000x4Ems10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgpibGVfaGlkID0gSElEKCdibGVfa2V5Ym9hcmRfbW91c2UnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwweDUyLFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLDB4NEUsVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file +ble_keyboard_mousetruewaitting784150659150WHILETRUEA1keyTrue0x000x52A3keyTrue0x000x4Ems10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgpibGVfaGlkID0gSElEKCdibGVfa2V5Ym9hcmRfbW91c2UnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwweDUyLFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLDB4NEUsVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线蓝牙鼠标.mix b/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线蓝牙鼠标.mix index e351f0d9..da41a687 100644 --- a/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线蓝牙鼠标.mix +++ b/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线蓝牙鼠标.mix @@ -1 +1 @@ -ble_MouseSENSITIVITY灵敏度30MOVE_THRESHOLD移动阈值0.05smooth_x平滑处理的历史数据0smooth_y平滑处理的历史数据0ALPHA指数平滑因子(0 < ALPHA < 1)0.8WHILETRUEraw_x[0]raw_y[1]忽略小幅移动LTfabs0.998raw_xMOVE_THRESHOLDraw_x0忽略小幅移动LTfabs0.998raw_yMOVE_THRESHOLDraw_y0xintxMULTIPLY1raw_x1SENSITIVITYyintxMULTIPLY1raw_y1SENSITIVITYsmooth_x平滑处理ADD1MULTIPLY1ALPHA1smooth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000intsmooth_y0intsmooth_yMULTIPLY1smooth_x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file +ble_MouseSENSITIVITY灵敏度30MOVE_THRESHOLD移动阈值0.05smooth_x平滑处理的历史数据0smooth_y平滑处理的历史数据0ALPHA指数平滑因子(0 < ALPHA < 1)0.8WHILETRUEraw_x[0]raw_y[1]忽略小幅移动LTfabs0.998raw_xMOVE_THRESHOLDraw_x0忽略小幅移动LTfabs0.998raw_yMOVE_THRESHOLDraw_y0xintxMULTIPLY1raw_x1SENSITIVITYyintxMULTIPLY1raw_y1SENSITIVITYsmooth_x平滑处理ADD1MULTIPLY1ALPHA1smooth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000intsmooth_y0intsmooth_yMULTIPLY1smooth_x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线键盘.mix b/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线键盘.mix index b961aa2c..60a18b14 100644 --- a/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线键盘.mix +++ b/boards/default/micropython_esp32/examples/MixGo/23-2-蓝牙键鼠-无线键盘.mix @@ -1 +1 @@ -ble_keyboard_mousetruewaitting698150523150WHILETRUEGT100True0x080x07ms300ms100{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ3dhaXR0aW5nJykKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK \ No newline at end of file +ble_keyboard_mousetruewaitting698150523150WHILETRUEGT100True0x080x07ms300ms100{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ3dhaXR0aW5nJykKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32/examples/MixGo/24-1-无线广播-通讯测试.mix index a472e4af..60ab1d7e 100644 --- a/boards/default/micropython_esp32/examples/MixGo/24-1-无线广播-通讯测试.mix +++ b/boards/default/micropython_esp32/examples/MixGo/24-1-无线广播-通讯测试.mix @@ -1 +1 @@ -10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrue<-0RIGHTTrue->0{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file +10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrue<-0RIGHTTrue->0{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32/examples/MixGo/24-2-无线广播-防丢检测.mix index f13c4dea..758f8469 100644 --- a/boards/default/micropython_esp32/examples/MixGo/24-2-无线广播-防丢检测.mix +++ b/boards/default/micropython_esp32/examples/MixGo/24-2-无线广播-防丢检测.mix @@ -1 +1 @@ -lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000onboard_matrix.NOonboard_music.DADADADUMlastmsgtimeonboard_matrix.YESlastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000onboard_matrix.NOonboard_music.DADADADUMlastmsgtimeonboard_matrix.YESlastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32/examples/MixGo/29-1-物联网-简单数据定时上报.mix index bd1d9e06..04a52ffd 100644 --- a/boards/default/micropython_esp32/examples/MixGo/29-1-物联网-简单数据定时上报.mix +++ b/boards/default/micropython_esp32/examples/MixGo/29-1-物联网-简单数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5光照msgMixlyx{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo= \ No newline at end of file +fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5光照msgMixlyx{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32/examples/MixGo/29-2-物联网-复杂数据定时上报.mix index 31a92a25..973d021f 100644 --- a/boards/default/micropython_esp32/examples/MixGo/29-2-物联网-复杂数据定时上报.mix +++ b/boards/default/micropython_esp32/examples/MixGo/29-2-物联网-复杂数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5环境msg"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file +fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5环境msg"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32/examples/MixGo/30-1-物联网-简单数据按需上报.mix index 981da780..22d8b285 100644 --- a/boards/default/micropython_esp32/examples/MixGo/30-1-物联网-简单数据按需上报.mix +++ b/boards/default/micropython_esp32/examples/MixGo/30-1-物联网-简单数据按需上报.mix @@ -1 +1 @@ -timfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0timPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi5aOw6Z+zIjpvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +timfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0timPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi5aOw6Z+zIjpvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32/examples/MixGo/30-2-物联网-高级数据按需上报.mix index 97fb138e..541f4c8d 100644 --- a/boards/default/micropython_esp32/examples/MixGo/30-2-物联网-高级数据按需上报.mix +++ b/boards/default/micropython_esp32/examples/MixGo/30-2-物联网-高级数据按需上报.mix @@ -1 +1 @@ -tim震动strength光照声音fuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0timPERIODICtim5000tim_callback震动strengthWHILETRUE震动strength光照声音s0.1GT震动5危险大震动s1tim_callback震动光照声音环境大震动"光照""声音""震动"光照声音震动{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKaW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOV85Q184N19FNV84QV9BOAogICAgZ2xvYmFsIF9FNV84NV84OV9FN184NV9BNwogICAgZ2xvYmFsIF9FNV9BM19CMF9FOV85Rl9CMwogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQoKCgpfRTlfOUNfODdfRTVfOEFfQTggPSBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpCl9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQp3aGlsZSBUcnVlOgogICAgX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQogICAgX0U1Xzg1Xzg5X0U3Xzg1X0E3ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgaWYgX0U5XzlDXzg3X0U1XzhBX0E4ID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +tim震动strength光照声音fuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0timPERIODICtim5000tim_callback震动strengthWHILETRUE震动strength光照声音s0.1GT震动5危险大震动s1tim_callback震动光照声音环境大震动"光照""声音""震动"光照声音震动{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKaW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOV85Q184N19FNV84QV9BOAogICAgZ2xvYmFsIF9FNV84NV84OV9FN184NV9BNwogICAgZ2xvYmFsIF9FNV9BM19CMF9FOV85Rl9CMwogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQoKCgpfRTlfOUNfODdfRTVfOEFfQTggPSBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpCl9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQp3aGlsZSBUcnVlOgogICAgX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQogICAgX0U1Xzg1Xzg5X0U3Xzg1X0E3ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgaWYgX0U5XzlDXzg3X0U1XzhBX0E4ID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅.mix index 87ca7b06..758c3381 100644 --- a/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅.mix +++ b/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0亮屏methodWHILETRUEmethodEQmsg1onboard_matrix.HEARTEQmsg0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0亮屏methodWHILETRUEmethodEQmsg1onboard_matrix.HEARTEQmsg0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅2.mix index 7616b05e..141e45ca 100644 --- a/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/31-1-物联网-单主题数据订阅2.mix @@ -1 +1 @@ -clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5ID0gbXNnCgoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9ICdNaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLrlhoXlrrknLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuuWGheWuuScpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5ID0gbXNnCgoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9ICdNaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLrlhoXlrrknLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuuWGheWuuScpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32/examples/MixGo/32-1-物联网-多主题数据订.mix index 9d7a24be..ce855286 100644 --- a/boards/default/micropython_esp32/examples/MixGo/32-1-物联网-多主题数据订.mix +++ b/boards/default/micropython_esp32/examples/MixGo/32-1-物联网-多主题数据订.mix @@ -1 +1 @@ -clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容method亮灯method2timPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod2EQmsg1252525EQmsg0000method显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG1zZwoKCgpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65YaF5a65JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrlhoXlrrknKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6rueBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容method亮灯method2timPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod2EQmsg1252525EQmsg0000method显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG1zZwoKCgpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65YaF5a65JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrlhoXlrrknKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6rueBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32/examples/MixGo/32-2-物联网-多主题数据订2.mix index 889aa76a..0db2a217 100644 --- a/boards/default/micropython_esp32/examples/MixGo/32-2-物联网-多主题数据订2.mix +++ b/boards/default/micropython_esp32/examples/MixGo/32-2-物联网-多主题数据订2.mix @@ -1 +1 @@ -clienttopicmsgtimmydict显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0json消息methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBqc29uCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKbXlkaWN0PSB7fQpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnanNvbua2iOaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnanNvbua2iOaBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtimmydict显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0json消息methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBqc29uCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKbXlkaWN0PSB7fQpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnanNvbua2iOaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnanNvbua2iOaBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32/examples/MixGo/33-1-课堂互动-自由签到.mix index 08d132c4..ddecf9e6 100644 --- a/boards/default/micropython_esp32/examples/MixGo/33-1-课堂互动-自由签到.mix +++ b/boards/default/micropython_esp32/examples/MixGo/33-1-课堂互动-自由签到.mix @@ -1 +1 @@ -本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUEFalseGO0B1key姓名msg本机用户Mixly本机用户FalseOK0s1FalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUEFalseGO0B1key姓名msg本机用户Mixly本机用户FalseOK0s1FalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32/examples/MixGo/33-2-课堂互动-按需签到.mix index 114c28df..d8bbf5cb 100644 --- a/boards/default/micropython_esp32/examples/MixGo/33-2-课堂互动-按需签到.mix +++ b/boards/default/micropython_esp32/examples/MixGo/33-2-课堂互动-按需签到.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodFalse==0WHILETRUE开始签到B1key姓名msg本机用户开始签到FALSEMixly本机用户FalseOK0s1False==0method开始签到EQmsg1开始签到TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF9CRV9FNV84OF9CMAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etvuWIsCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562+5YiwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodFalse==0WHILETRUE开始签到B1key姓名msg本机用户开始签到FALSEMixly本机用户FalseOK0s1False==0method开始签到EQmsg1开始签到TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF9CRV9FNV84OF9CMAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etvuWIsCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562+5YiwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32/examples/MixGo/34-1-课堂互动-一人抢答.mix index a0933d81..a1eecd55 100644 --- a/boards/default/micropython_esp32/examples/MixGo/34-1-课堂互动-一人抢答.mix +++ b/boards/default/micropython_esp32/examples/MixGo/34-1-课堂互动-一人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者False==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9IG1zZwogICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9ICcnCl9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0OgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQo= \ No newline at end of file +clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者False==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9IG1zZwogICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9ICcnCl9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0OgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32/examples/MixGo/34-2-课堂互动-多人抢答.mix index 0f37d0ba..5ba2f34e 100644 --- a/boards/default/micropython_esp32/examples/MixGo/34-2-课堂互动-多人抢答.mix +++ b/boards/default/micropython_esp32/examples/MixGo/34-2-课堂互动-多人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEFalse==0method2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSEFalse==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODgKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OC5hZGQobXNnKQogICAgaWYgbGVuKF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OCkgPj0gMjoKICAgICAgICBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IFRydWUKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCgoKX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3ID0gJ21peGx5JwpfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfbWF0cml4LnNob3dzKCc9PScsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NDoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCg== \ No newline at end of file +clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEFalse==0method2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSEFalse==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODgKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OC5hZGQobXNnKQogICAgaWYgbGVuKF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OCkgPj0gMjoKICAgICAgICBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IFRydWUKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCgoKX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3ID0gJ21peGx5JwpfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfbWF0cml4LnNob3dzKCc9PScsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NDoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32/examples/MixGo/35-1-课堂互动-单选答题.mix index 4502403e..6f514823 100644 --- a/boards/default/micropython_esp32/examples/MixGo/35-1-课堂互动-单选答题.mix +++ b/boards/default/micropython_esp32/examples/MixGo/35-1-课堂互动-单选答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32/examples/MixGo/35-2-课堂互动-多选答题.mix index 918454ad..b5e66d4b 100644 --- a/boards/default/micropython_esp32/examples/MixGo/35-2-课堂互动-多选答题.mix +++ b/boards/default/micropython_esp32/examples/MixGo/35-2-课堂互动-多选答题.mix @@ -1 +1 @@ -clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890FalseWO0mixio.mixly.cn7b6443FalseMO0开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果onboard_matrix.YESmylistx答题集合B1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUEFalseGO0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmltcG9ydCB1cmVxdWVzdHMKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKZnJvbSBtaXhweSBpbXBvcnQgYW5hbHlzZV9zaGFyZWtleQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQpfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICcnOgogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODguYWRkKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QykKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJycKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890FalseWO0mixio.mixly.cn7b6443FalseMO0开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果onboard_matrix.YESmylistx答题集合B1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUEFalseGO0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmltcG9ydCB1cmVxdWVzdHMKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKZnJvbSBtaXhweSBpbXBvcnQgYW5hbHlzZV9zaGFyZWtleQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQpfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICcnOgogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODguYWRkKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QykKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJycKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32/examples/MixGo/36-1-课堂互动-点名答题.mix index fd0ddd5d..1acef253 100644 --- a/boards/default/micropython_esp32/examples/MixGo/36-1-课堂互动-点名答题.mix +++ b/boards/default/micropython_esp32/examples/MixGo/36-1-课堂互动-点名答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSBfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSBfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32/examples/MixGo/36-2-课堂互动-多人点答.mix index e0c7575e..7b60a63f 100644 --- a/boards/default/micropython_esp32/examples/MixGo/36-2-课堂互动-多人点答.mix +++ b/boards/default/micropython_esp32/examples/MixGo/36-2-课堂互动-多人点答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZy5maW5kKF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykgPiAtMToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U3X0FEXzk0X0U5X0EyXzk4X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCl9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMpCiAgICAgICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZy5maW5kKF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykgPiAtMToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U3X0FEXzk0X0U5X0EyXzk4X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCl9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMpCiAgICAgICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/39-1-文件操作-录音采集.mix b/boards/default/micropython_esp32/examples/MixGo/39-1-文件操作-录音采集.mix index d9730868..3a868045 100644 --- a/boards/default/micropython_esp32/examples/MixGo/39-1-文件操作-录音采集.mix +++ b/boards/default/micropython_esp32/examples/MixGo/39-1-文件操作-录音采集.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/39-2-文件操作-录音重现.mix b/boards/default/micropython_esp32/examples/MixGo/39-2-文件操作-录音重现.mix index c07f01eb..1d65f972 100644 --- a/boards/default/micropython_esp32/examples/MixGo/39-2-文件操作-录音重现.mix +++ b/boards/default/micropython_esp32/examples/MixGo/39-2-文件操作-录音重现.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10B2key21r/test.txtf0,1,2,301001xsreadlinefsdintxs0,1,2,375intx50d0300070-1i110iONshift_left1s0.05fException as ee20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgICAgIGQgPSBpbnQocykKICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg3LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDMwMDAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KDExKSwgaW50KGkpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10B2key21r/test.txtf0,1,2,301001xsreadlinefsdintxs0,1,2,375intx50d0300070-1i110iONshift_left1s0.05fException as ee20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgICAgIGQgPSBpbnQocykKICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg3LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDMwMDAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KDExKSwgaW50KGkpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/40-1-文件操作-震动采集.mix b/boards/default/micropython_esp32/examples/MixGo/40-1-文件操作-震动采集.mix index 5b824539..48479f08 100644 --- a/boards/default/micropython_esp32/examples/MixGo/40-1-文件操作-震动采集.mix +++ b/boards/default/micropython_esp32/examples/MixGo/40-1-文件操作-震动采集.mix @@ -1 +1 @@ -MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32/examples/MixGo/40-2-文件操作-震动重现.mix b/boards/default/micropython_esp32/examples/MixGo/40-2-文件操作-震动重现.mix index 62b41963..26caf3b6 100644 --- a/boards/default/micropython_esp32/examples/MixGo/40-2-文件操作-震动重现.mix +++ b/boards/default/micropython_esp32/examples/MixGo/40-2-文件操作-震动重现.mix @@ -1 +1 @@ -MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10B2key21r/acc.txtf0,1,2,301001xsreadlinefMixlysms50fException as ee20{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHByaW50KGUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file +MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10B2key21r/acc.txtf0,1,2,301001xsreadlinefMixlysms50fException as ee20{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHByaW50KGUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32/index.xml b/boards/default/micropython_esp32/index.xml index d1c7d74d..aff04170 100644 --- a/boards/default/micropython_esp32/index.xml +++ b/boards/default/micropython_esp32/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180292023,1,1,12,0,01001004404401000010004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180292023,1,1,12,0,01001004404401000010004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32/main.bundle.67d11a28.js b/boards/default/micropython_esp32/main.bundle.00163ba6.js similarity index 82% rename from boards/default/micropython_esp32/main.bundle.67d11a28.js rename to boards/default/micropython_esp32/main.bundle.00163ba6.js index cbbb0043..e37297f1 100644 --- a/boards/default/micropython_esp32/main.bundle.67d11a28.js +++ b/boards/default/micropython_esp32/main.bundle.00163ba6.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Vt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Tt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Tt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Tt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Gt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(Pt);var t=new Tt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Tt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Tt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Tt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},jt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},te={init:function(){this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Tt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Tt.FieldDropdown([[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ee={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe={init:function(){this.setColour(Pt),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},_e={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},pe=230;Tt.FieldTextInput.math_number_validator=function(t){return String(t)},Tt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ae={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},re={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},de={init:function(){this.setColour(pe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(pe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ie={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Tt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Te={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Tt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Tt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Tt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Tt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Tt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Tt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Tt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Me={init:function(){var t=[[Tt.Msg.MATH_BIN,"bin"],[Tt.Msg.MATH_OCT,"oct"],[Tt.Msg.MATH_HEX,"hex"]];this.setColour(pe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Tt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Tt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Tt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Tt.Msg.LANG_MATH_TO_ROUND,"round"],[Tt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Tt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Tt.Msg.MATH_ABS,"fabs"],[Tt.Msg.MATH_SQRT,"sqrt"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Tt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Tt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Tt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Tt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Tt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Tt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},me={init:function(){var t=[[Tt.Msg.MIXLY_MAX,"max"],[Tt.Msg.MIXLY_MIN,"min"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Tt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Tt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Tt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ee={init:function(){var t=[[Tt.Msg.MATH_TWO,"two"],[Tt.Msg.MATH_EIGHT,"eight"],[Tt.Msg.MATH_TEN,"ten"],[Tt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(pe),this.appendDummyInput("").appendField(Tt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Tt.FieldDropdown(t),"OP").appendField(Tt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MATH_ZHW).appendField(new Tt.FieldDropdown(t),"OP2").appendField(Tt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Tt.Msg.MATH_Before_two,eight:Tt.Msg.MATH_Before_eight,ten:Tt.Msg.MATH_Before_ten,sixteen:Tt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Tt.Msg.MATH_Behind_two,eight:Tt.Msg.MATH_Behind_eight,ten:Tt.Msg.MATH_Behind_ten,sixteen:Tt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Tt.Msg.LANG_MATH_INT,"int"],[Tt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(pe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Tt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Tt.Msg.LANG_MATH_INT,float:Tt.Msg.LANG_MATH_FLOAT_RANDOM};return Tt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Re={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_CONSTRAIN_TOOLTIP)}},ce={init:function(){this.setColour(pe),this.appendValueInput("NUM",Number).appendField(Tt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Tt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Tt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ge={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},Ce={init:function(){this.setColour(pe),this.appendValueInput("NUM").setCheck(Number).appendField(Tt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Se={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MATH_ROUND).appendField(Tt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Tt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"],[Tt.Msg.MIXLY_TO_BITES,"b"],[Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Le={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ne=ce,De={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},fe={init:function(){this.setColour(pe),this.itemCount_=1,this.setMutator(new Tt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Tt.Msg.MIXLY_PRODUCT+Tt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Tt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Tt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const be={init:function(){this.setColour(ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Tt.FieldTextInput("",Tt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Tt.FieldImage(e,7,12,'"')}},ye={init:function(){this.setColour(ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Tt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ve={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Be={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String).appendField(Tt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ge={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.TEXT_GET_INDEX_RANDOM+1+Tt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.LISTS_GET_INDEX_GET,"MODE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Tt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Tt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Tt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Tt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Tt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Tt.Msg.TEXT_GET_INDEX_RANDOM};return Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Tt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Tt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Tt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},He={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Tt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Tt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Tt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},We={init:function(){this.WHERE_OPTIONS_1=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Tt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Tt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Je={init:function(){var t=[[Tt.Msg.MIXLY_EQUALS,"==="],[Tt.Msg.MIXLY_STARTSWITH,"startswith"],[Tt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Tt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Qe={init:function(){this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_COMPARETO_HELP)}},qe={init:function(){var t=[[Tt.Msg.TEXT_UPPER,"upper"],[Tt.Msg.TEXT_TITLE,"title"],[Tt.Msg.TEXT_CAPITALIZE,"capitalize"],[Tt.Msg.TEXT_SWAPCASE,"swapcase"],[Tt.Msg.TEXT_LOWER,"lower"]];this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Tt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Tt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Tt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Tt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Tt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Tt.Msg.TEXT_LJUST,"ljust"],[Tt.Msg.TEXT_CENTER,"center"],[Tt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ve),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Tt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Tt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},je={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Tt.Msg.MIXLY_MID+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ze={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Tt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ti={init:function(){this.setColour(ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Tt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Tt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ei={init:function(){var t=[[Tt.Msg.TEXT_TRIM_BOTH,"strip"],[Tt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Tt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Tt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Tt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Tt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ii={init:function(){this.setColour(ve),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Tt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_KEYS),this.setTooltip(Tt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_DELETE_TOOLTIP)}},_n={init:function(){this.setColour(zi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Tt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Tt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MID),this.setTooltip(Tt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_CLEAR),this.setTooltip(Tt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_ITEMS),this.setTooltip(Tt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},un={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_VALUES),this.setTooltip(Tt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LENGTH),this.setTooltip(Tt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_DELDICT),this.setTooltip(Tt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ln={init:function(){this.MODE=[[Tt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Tt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Tt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Tt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Tt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Tt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setTooltip(Tt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Mn={init:function(){this.setColour(zi),this.appendDummyInput("").appendField(new Tt.FieldLabel(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Tt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(zi),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},mn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(zi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},cn=210,gn={init:function(){var t=Tt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Tt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Sn={init:function(){var t=[[Tt.Msg.LOGIC_OPERATION_AND,"AND"],[Tt.Msg.LOGIC_OPERATION_OR,"OR"],[Tt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Tt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Tt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},An={init:function(){this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Tt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Tt.Msg.LOGIC_NEGATE_TOOLTIP)}},Ln={init:function(){var t=[[Tt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Tt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Tt.FieldDropdown(t),"BOOL"),this.setTooltip(Tt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Nn={init:function(){this.setColour(cn),this.setOutput(!0),this.appendDummyInput().appendField(Tt.Msg.LOGIC_NULL),this.setTooltip(Tt.Msg.LOGIC_NULL_TOOLTIP)}},Dn={init:function(){this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Tt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Tt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Tt.Msg.TEXT_APPEND_TO,"in"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Tt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Tt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.IN)}},Fn={init:function(){var t=[[Tt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Pn={init:function(){this.setColour(cn),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Tt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Tt.Msg.MIXLY_ADD,"a"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_ADD,"ab"],[Tt.Msg.MIXLY_R_W,"r+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_R_W,"rb+"],[Tt.Msg.MIXLY_W_R,"w+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_W_R,"wb+"],[Tt.Msg.MIXLY_A_R,"a+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXPY_TEXT_ENCODE).appendField(new Tt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},bn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MICROBIT_PYTHON_TYPE)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.HTML_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Hn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},qn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Tt.Msg.MIXLY_ESP32_SET+{mkdir:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Tt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_FILE,"isfile"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Tt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Tt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},es={init:function(){var t=Tt.Procedures.findLegalName("",this),e=new Tt.FieldTextInput(t,Tt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Tt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Tt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Tt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Tt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Tt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Tt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Tt.Events.enable()}},mutationToDom:function(t){var e=Tt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},js={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_FORM_CONTENT).appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_TEXT,"text"],[Tt.Msg.HTML_EMAIL,"email"],[Tt.Msg.HTML_NUMBER,"number"],[Tt.Msg.HTML_PASSWORD,"password"],[Tt.Msg.HTML_CHECKBOX,"checkbox"],[Tt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Tt.Msg.HTML_BUTTON,"button"],[Tt.Msg.HTML_COLOUR,"colour"],[Tt.Msg.HTML_DATE,"date"],[Tt.Msg.HTML_LOCALTIME,"local time"],[Tt.Msg.HTML_FILE,"file"],[Tt.Msg.HTML_HIDDEN,"hidden"],[Tt.Msg.HTML_IMAGE,"image"],[Tt.Msg.HTML_MONTH,"month"],[Tt.Msg.HTML_RANGE,"range"],[Tt.Msg.HTML_RESET,"reset"],[Tt.Msg.HTML_SEARCH,"search"],[Tt.Msg.HTML_SUBMIT,"submit"],[Tt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Tt.Msg.HTML_TIME,"time"],[Tt.Msg.HTML_URL,"url"],[Tt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Tt.Msg.HTML_NAME).appendField(new Tt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Tt.Msg.HTML_VALUE).appendField(new Tt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_TEXT).appendField(new Tt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo=160,io={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Tt.FieldTable(""),"TEXT")}},no={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT")}},so={init:function(){this.setColour(eo),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},oo={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Tt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(eo),this.appendValueInput("VALUE").appendField(Tt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ao={init:function(){this.setColour(eo),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Tt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Tt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Tt.isNumber(n)&&Tt.isNumber(s)&&Tt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const sa=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},oa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_a=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},pa=function(t,e){return["None",e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ra=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},da=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ta=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ma=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ea=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ca=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ga=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Aa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Da=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Tt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ou=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ru=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},cu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},gu=function(t,e){return'"},Cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Su=function(){return this.getFieldValue("TEXT")+"\n"},Au=function(t){return t.getFieldValue("TEXT")+"\n"},Lu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Du=function(){return""},fu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Fu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},Xu.scrubNakedValue=function(t){return t+"\n"},Xu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Xu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,Xu.COMMENT_WRAP-3),n+=Xu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const xu="#74A55B",bu={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},yu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Bu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Gu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Uu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Hu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ku={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Tt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ju={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},zu={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField("360°"+Tt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.blockpy_turtle_rotate+Tt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Zu={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},tr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},er={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ir={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Tt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Tt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},sr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Tt.Msg.MOTOR_N,"ms32006.MOT_N"],[Tt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Tt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_r={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},pr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},ar={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},rr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Tt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["SYN6288"+Tt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Tt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ir={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_WHETHER).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_STOPPED,"0"],[Tt.Msg.MIXLY_PLAYING,"1"],[Tt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_PLAY,"1"],[Tt.Msg.MIXLY_MP3_PAUSE,"2"],[Tt.Msg.MIXLY_STOP,"3"],[Tt.Msg.MIXLY_MP3_PREV,"4"],[Tt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Tt.Msg.MIXLY_MP3_VOL+Tt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE+Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Tt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Tt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Tt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Tt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Tt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Tt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Er={},Or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Rr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},cr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},gr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Cr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Sr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Ar={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LISTS_SET_INDEX_SET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Tt.Msg.MIXLY_SPEED,"[1]"],[Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Tt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SERVO+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MOTOR+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kr="#6C9858",Wr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Kr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_ON,"1"],[Tt.Msg.MIXLY_ESP32_OFF,"0"],[Tt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LIGHT_RED,"1"],[Tt.Msg.MIXLY_LIGHT_GREEN,"2"],[Tt.Msg.MIXLY_LIGHT_BLUE,"3"],[Tt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Tt.Msg.MIXLY_LIGHT_CYAN,"5"],[Tt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Tt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ed={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},id={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},nd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},sd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},od={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},_d={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ad={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ud={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dd={init:function(){this.setColour(kr),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Id={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Md={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},md={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ed={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Od={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(kr),this.appendDummyInput().appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Ad={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"1"],[Tt.Msg.TEXT_TRIM_RIGHT,"2"],[Tt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Dd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"0"],[Tt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},xd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},bd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_RECORD_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.MIXLY_ALL+Tt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},kd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_RELEASE).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT)}},Kd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SPECIAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Tt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Tt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Tt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Tt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Tt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Tt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Tt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Tt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Jd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GENERAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Qd={init:function(){this.setColour(kr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Tt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Tt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Vh={init:function(){this.jsonInit({colour:Nh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Tt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Tt.Msg.MIXLY_MICROBIT_Built_in_image})}},Bh={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Gh={init:function(){this.setColour(Nh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(Gh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Uh={init:function(){this.setColour(Nh),this.appendValueInput("A").setCheck("esp32_image").appendField(Tt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},wh={init:function(){this.setColour(Nh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(wh.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Tt.Msg.MIXLY_UP,shift_down:Tt.Msg.MIXLY_DOWN,shift_left:Tt.Msg.MIXLY_LEFT,shift_right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"shift_up"],[Tt.Msg.MIXLY_DOWN,"shift_down"],[Tt.Msg.MIXLY_LEFT,"shift_left"],[Tt.Msg.MIXLY_RIGHT,"shift_right"]]},Hh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Wh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Jh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Clear_display)}},Qh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SHOW+Tt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.OLED_SET_FONT).appendField(new Tt.FieldDropdown(em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Tt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},im={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},sm={init:function(){this.setColour(Nh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Tt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},om={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_m={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},pm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},am={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},um={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},dm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.mpython_display_hline_1,"1"],[Tt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},lm={init:function(){this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(lm.IMAGES),"path"),this.setColour(Nh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Im={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Mm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},hm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},mm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Tt.FieldDropdown(Em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Tt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Tt.Msg.CLOCKWISE+"90"+Tt.Msg.blockpy_setheading_degree,"1"],[Tt.Msg.CLOCKWISE+"180"+Tt.Msg.blockpy_setheading_degree,"2"],[Tt.Msg.CLOCKWISE+"270"+Tt.Msg.blockpy_setheading_degree,"3"]]},Om={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Rm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Rm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Tt.Msg.MIXLY_AipImageClassify_Image+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Sm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Am={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Nm={init:function(){this.jsonInit({colour:Nh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Dm={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},fm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Fm={init:function(){this.setColour(Nh),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Nh),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Tt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Tt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Tt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ym={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Vm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Bm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Nh),this.appendValueInput("direct").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Um={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ERROR_RATE).appendField(new Tt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Fh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Xh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){Kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qm={init:function(){Jh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm=180,zm={init:function(){this.setColour(qm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Tt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(zm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"]]},jm={init:function(){this.setColour(qm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(jm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},$m={init:function(){this.setColour(qm),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Tt.FieldDropdown($m.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE+{height:Tt.Msg.MIXLY_HEIGHT,width:Tt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Tt.Msg.MIXLY_HEIGHT,"height"],[Tt.Msg.MIXLY_WIDTH,"width"]]},Zm={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RECT).appendField(new Tt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_OLED_RECT)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Tt.FieldDropdown(tE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},eE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Tt.FieldDropdown(eE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},iE="#777777",nE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("from ").appendField(new Tt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Tt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("import ").appendField(new Tt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField(new Tt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},KE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},QE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PROJECT).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},jE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.appendDummyInput().appendField(Tt.Msg.MIXLY_Service_quality_display).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Tt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},$E={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},ZE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},nO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},sO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},oO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_O={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},pO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Tt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},aO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+Tt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rO={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(BE),this.appendDummyInput("").appendField(new Tt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},dO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Tt.Msg.MIXLY_REQUESTS_GET).appendField(Tt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Tt.Msg.MQTT_Topic).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},hO=GE,mO=UE,EO=wE,OO=HE,RO=WE,cO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO=cO,CO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},LO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("Ollama "+Tt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Tt.inputs.Align.RIGHT).appendField(`MixIO ${Tt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},vO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},YO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO=225,xO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NETWORK_MODE).appendField(new Tt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},bO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Tt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},yO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},VO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Tt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},BO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},GO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Tt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},UO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Tt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Tt.Msg.MIXLY_ESP32_NETWORK_IP,1:Tt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},wO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},HO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},kO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Tt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},WO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},KO={init:function(){this.setColour(XO),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Tt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},JO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},QO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},qO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},zO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},jO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},$O={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},ZO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},tR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},eR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},iR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},nR={init:function(){this.setColour(XO),this.appendValueInput("DOMAIN").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS_GET).appendField(new Tt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},sR={init:function(){this.appendValueInput("VAL"),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(sR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Tt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Tt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Tt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},oR={init:function(){this.appendValueInput("VAR").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown(oR.METHOD),"DIR"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},_R={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Tt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},pR={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},aR="#3288dd",uR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS).appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},rR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Tt.Msg.blockpy_REQUESTS+Tt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},dR={init:function(){this.appendValueInput("VAL"),this.setColour(aR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(dR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Tt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},lR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Tt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},IR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Tt.Msg.MIXLY_EMQX_PORT).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(aR),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Tt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},MR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"+Tt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ER=100,OR={init:function(){this.setColour(ER),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},RR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},cR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},CR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},SR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},AR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},LR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},NR="#A58C5B",DR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_IS_PRESSED)}},fR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_WAS_PRESSED)}},FR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_BUTTON+Tt.Msg.MIXLY_GET_PRESSES)}},PR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Tt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Tt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},vR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Tt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down,freefall:Tt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},YR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},XR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},xR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(new Tt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Tt.FieldDropdown(xR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},bR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},yR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},VR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"left"],[Tt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Tt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Tt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Tt.Msg.MIXLY_ESP32_NEAR;return i+{left:Tt.Msg.TEXT_TRIM_LEFT,right:Tt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},BR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Tt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},GR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Tt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},UR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},wR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField("LM35"+Tt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LM35)}},HR={init:function(){this.setColour(NR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Tt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Tt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Tt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Tt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Tt.Msg.HTML_COLOUR+"、"+Tt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Tt.Msg.MIXLY_NEXT+"、"+Tt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Tt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Tt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Tt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Tt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Tt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},WR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},KR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},JR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},QR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Tt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Tt.Msg.MIXLY_THE_FIRST,"3"],[Tt.Msg.MIXLY_THE_SECOND,"4"],[Tt.Msg.MIXLY_THE_THIRD,"5"],[Tt.Msg.MIXLY_THE_FOURTH,"6"],[Tt.Msg.MIXLY_THE_FIFTH,"7"],[Tt.Msg.MIXLY_THE_SIXTH,"8"],[Tt.Msg.MIXLY_THE_SEVENTH,"9"],[Tt.Msg.MIXLY_THE_EIGHTH,"10"],[Tt.Msg.MIXLY_THE_NINTH,"11"],[Tt.Msg.MIXLY_THE_TENTH,"12"],[Tt.Msg.MIXLY_THE_ELEVENTH,"13"],[Tt.Msg.MIXLY_THE_TWELFTH,"14"],[Tt.Msg.MIXLY_THE_13TH,"15"],[Tt.Msg.MIXLY_THE_14TH,"16"],[Tt.Msg.MIXLY_THE_15TH,"17"],[Tt.Msg.MIXLY_THE_16TH,"18"],[Tt.Msg.MIXLY_THE_17TH,"19"],[Tt.Msg.MIXLY_THE_18TH,"20"],[Tt.Msg.MIXLY_THE_19TH,"21"],[Tt.Msg.MIXLY_THE_20TH,"22"],[Tt.Msg.MIXLY_Turn_on_the_lights,"23"],[Tt.Msg.MIXLY_Turn_off_the_lights,"24"],[Tt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Tt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Tt.Msg.MIXLY_Set_it_to_red,"27"],[Tt.Msg.MIXLY_Set_it_to_orange,"28"],[Tt.Msg.MIXLY_Set_it_to_yellow,"29"],[Tt.Msg.MIXLY_Set_it_to_green,"30"],[Tt.Msg.MIXLY_Set_it_to_cyan,"31"],[Tt.Msg.MIXLY_Set_it_to_blue,"32"],[Tt.Msg.MIXLY_Set_it_to_purple,"33"],[Tt.Msg.MIXLY_Set_it_to_white,"34"],[Tt.Msg.MIXLY_Turn_on_the_fan,"35"],[Tt.Msg.MIXLY_Turn_off_the_fan,"36"],[Tt.Msg.MIXLY_First_gear,"37"],[Tt.Msg.MIXLY_Wind_speed_second,"38"],[Tt.Msg.MIXLY_Third_gear,"39"],[Tt.Msg.MIXLY_Previous,"40"],[Tt.Msg.MIXLY_Next_page,"41"],[Tt.Msg.MIXLY_Show_smiley_face,"42"],[Tt.Msg.MIXLY_Show_crying_face,"43"],[Tt.Msg.MIXLY_Show_love,"44"],[Tt.Msg.MIXLY_Close_display,"45"],[Tt.Msg.MIXLY_Start_execution,"46"],[Tt.Msg.MIXLY_FORWARD,"47"],[Tt.Msg.MIXLY_BACKWARD,"48"],[Tt.Msg.MIXLY_TURNLEFT,"49"],[Tt.Msg.MIXLY_TURNRIGHT,"50"],[Tt.Msg.MIXLY_STOP,"51"],[Tt.Msg.MIXLY_Accelerate,"52"],[Tt.Msg.MIXLY_retard,"53"],[Tt.Msg.ROTATION_FORWARD,"54"],[Tt.Msg.ROTATION_BACKWARD,"55"],[Tt.Msg.MIXLY_Query_temperature,"56"],[Tt.Msg.MIXLY_Query_humidity,"57"],[Tt.Msg.MIXLY_Query_brightness,"58"],[Tt.Msg.MIXLY_Query_sound,"59"],[Tt.Msg.MIXLY_Query_time,"60"],[Tt.Msg.MIXLY_Query_distance,"61"],[Tt.Msg.MIXLY_Query_pressure,"62"],[Tt.Msg.MIXLY_Query_key,"63"],[Tt.Msg.MIXLY_Query_touch,"64"],[Tt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Tt.Msg.MIXLY_WHETHER+Tt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},zR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Tt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Tt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},jR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MP3_PLAY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_WIND_SPEED,"154"],[Tt.Msg.MIXLY_HYETAL,"155"],[Tt.Msg.MIXLY_TEMPERATURE,"156"],[Tt.Msg.MIXLY_Humidity,"157"],[Tt.Msg.MIXLY_Altitude,"158"],[Tt.Msg.MIXLY_SOUND,"159"],[Tt.Msg.MIXLY_BRIGHTNESS,"160"],[Tt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Tt.Msg.MIXLY_SERVO,"162"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Tt.Msg.MIXLY_BUTTON2,"164"],[Tt.Msg.MIXLY_ESP32_TOUCH,"165"],[Tt.Msg.MIXLY_PAY,"166"],[Tt.Msg.MIXLY_CARSH_CHANGE,"167"],[Tt.Msg.MIXLY_COUNTDOWN,"168"],[Tt.Msg.MIXLY_TIMING,"169"],[Tt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Tt.Msg.MIXLY_FORWARD,"172"],[Tt.Msg.MIXLY_BACKWARD,"173"],[Tt.Msg.MIXLY_TURNLEFT,"174"],[Tt.Msg.MIXLY_TURNRIGHT,"175"],[Tt.Msg.MIXLY_STOP,"176"],[Tt.Msg.MIXLY_Accelerate,"177"],[Tt.Msg.MIXLY_retard,"178"],[Tt.Msg.ROTATION_FORWARD,"179"],[Tt.Msg.ROTATION_BACKWARD,"180"],[Tt.Msg.TUPLE_JOIN,"181"],[Tt.Msg.MIXLY_SHOW,"182"],[Tt.Msg.MIXLY_LAMPLIGHT,"183"],[Tt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Tt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_UNIT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_YEAR,"117"],[Tt.Msg.MIXLY_MONTH,"118"],[Tt.Msg.MIXLY_DAY,"119"],[Tt.Msg.MIXLY_HOUR,"120"],[Tt.Msg.MIXLY_MINUTE,"121"],[Tt.Msg.MIXLY_SECOND,"122"],[Tt.Msg.MIXLY_WEEK2,"123"],[Tt.Msg.MIXLY_RMB_UNIT,"124"],[Tt.Msg.blockpy_setheading_degree,"125"],[Tt.Msg.MIXLY_GEAR,"126"],[Tt.Msg.MIXLY_LAYER,"127"],[Tt.Msg.MIXLY_GRAM,"128"],[Tt.Msg.MIXLY_METER,"129"],[Tt.Msg.MIXLY_CENTIMETER,"130"],[Tt.Msg.MIXLY_MILLIMETER,"131"],[Tt.Msg.MIXLY_LUMEN,"132"],[Tt.Msg.MIXLY_DECIBEL,"133"],[Tt.Msg.MIXLY_hectopascal,"134"],[Tt.Msg.MIXLY_PERCENT,"135"],[Tt.Msg.MIXLY_CELSIUS,"136"],[Tt.Msg.MIXLY_METER_PER_SEC,"137"],[Tt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Tt.Msg.MIXLY_SUCCESS,"140"],[Tt.Msg.MIXLY_FAILED,"141"],[Tt.Msg.MIXLY_WRONG,"142"],[Tt.Msg.MIXLY_GOOD,"143"],[Tt.Msg.MIXLY_blockpy_set_add,"144"],[Tt.Msg.MIXLY_DECREASE,"145"],[Tt.Msg.COLOUR_RGB_RED,"146"],[Tt.Msg.COLOUR_RGB_ORANGE,"147"],[Tt.Msg.COLOUR_YELLOW,"148"],[Tt.Msg.COLOUR_RGB_GREEN,"149"],[Tt.Msg.COLOUR_CYAN,"150"],[Tt.Msg.COLOUR_RGB_BLUE,"151"],[Tt.Msg.COLOUR_RGB_PURPLE,"152"],[Tt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$R={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_SYSTEM+Tt.Msg.MIXLY_CMD).appendField(new Tt.FieldDropdown([[Tt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Tt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Tt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Tt.Msg.MIXLY_MAX_VOLUME,"204"],[Tt.Msg.MIXLY_MINIMUM,"205"],[Tt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Tt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Tt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Tt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Tt.Msg.MIXLY_ESP32_MAX30102_IR+","+Tt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Tt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Tt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+Tt.Msg.HTML_COLOUR,"[2]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+"RGB"+Tt.Msg.HTML_COLOUR,"0"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_RGB_RAW,"1"],[Tt.Msg.MIXLY_GET_ENV_LIGHT+Tt.Msg.MIXLY_BRIGHTNESS,"2"],[Tt.Msg.GET_IR_STRENGTH+Tt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Tt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ac={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MIXGOPE_FIELD+Tt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Tt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Tc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET+Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},hc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Ec={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_GETTEMPERATUE)}},Oc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},cc={init:function(){this.setColour(NR),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},gc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Tt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Tt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Tt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Tt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},KF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},QF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},zF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},jF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},$F=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},ZF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},tP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},eP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},iP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},nP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},pP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},aP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},uP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},rP=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},dP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},lP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},IP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},TP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},MP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},hP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},mP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},EP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},OP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},RP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},cP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},gP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},CP=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},SP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},AP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},LP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},NP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},DP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},fP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},FP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},vP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},YP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},xP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},bP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=Mt.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},BP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},UP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},kP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},KP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},JP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},qP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},zP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},jP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},$P=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},ZP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},tv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},ev=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},iv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},nv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},sv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},ov=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},_v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},av=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},tY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},eY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},iY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},nY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},sY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},oY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},_Y=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},pY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},aY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},uY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},rY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},dY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},lY=$P,IY=mv,TY=Tv,MY=mv,hY=Ev,mY=rv,EY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},OY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},RY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},BB=function(){return"control.reset()\n"},GB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},UB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},wB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},HB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},kB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},WB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},KB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},JB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},QB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},qB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},zB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},jB=function(){return"while True:\n pass\n"},$B=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},ZB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},tG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},eG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},iG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},nG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},sG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},oG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},_G=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},aG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},uG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},rG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},dG=oG,lG=_G,IG=sG,TG=tG,MG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},OG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},RG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},cG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},LG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},NG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},DG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},fG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},FG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:PG}=Mt,vG=PG.render(FG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:YG}=Mt,XG=YG.render(FG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:xG}=Mt,bG=xG.render(FG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),yG=new Tt.Generator("Python");yG.INDENT=" ",yG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),yG.ORDER_ATOMIC=0,yG.ORDER_COLLECTION=1,yG.ORDER_STRING_CONVERSION=1,yG.ORDER_UNARY_POSTFIX=1,yG.ORDER_UNARY_PREFIX=2,yG.ORDER_MEMBER=2.1,yG.ORDER_FUNCTION_CALL=2.2,yG.ORDER_EXPONENTIATION=3,yG.ORDER_UNARY_SIGN=4,yG.ORDER_BITWISE_NOT=4,yG.ORDER_MULTIPLICATIVE=5,yG.ORDER_ADDITIVE=6,yG.ORDER_BITWISE_SHIFT=7,yG.ORDER_BITWISE_AND=8,yG.ORDER_BITWISE_XOR=9,yG.ORDER_BITWISE_OR=10,yG.ORDER_RELATIONAL=11,yG.ORDER_EQUALITY=11,yG.ORDER_LOGICAL_NOT=12,yG.ORDER_LOGICAL_AND=13,yG.ORDER_LOGICAL_OR=14,yG.ORDER_ASSIGNMENT=14,yG.ORDER_CONDITIONAL=15,yG.ORDER_LAMBDA=16,yG.ORDER_NONE=99,yG.ORDER_OVERRIDES=[[yG.ORDER_FUNCTION_CALL,yG.ORDER_MEMBER],[yG.ORDER_FUNCTION_CALL,yG.ORDER_FUNCTION_CALL],[yG.ORDER_MEMBER,yG.ORDER_MEMBER],[yG.ORDER_MEMBER,yG.ORDER_FUNCTION_CALL]],yG.init=function(){yG.PASS=this.INDENT+"pass\n",yG.definitions_=Object.create(null),yG.functionNames_=Object.create(null),yG.setups_=Object.create(null),yG.loops_=Object.create(null),yG.codeEnd_=Object.create(null),yG.variableDB_?yG.variableDB_.reset():yG.variableDB_=new Ot(yG.RESERVED_WORDS_)},yG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in yG.functions_)_.push(yG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in yG.setups_)p.push(yG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in yG.loops_)a.push(yG.loops_[s]);var u=[];for(var s in yG.codeEnd_)u.push(yG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},yG.scrubNakedValue=function(t){return t+"\n"},yG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},yG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},yG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,yG.COMMENT_WRAP-3),n+=yG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const VG={};VG.MixGo={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:Mt.Profile.generate(["0-7"]),exlcdv:Mt.Profile.generate(["0-4"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["ESP32 Generic(4MB)"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const BG=VG,GG=230,UG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},QG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},qG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},jG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},oU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},pU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},rU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},dU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},lU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},IU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},TU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},MU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},hU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},mU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},EU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},OU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},RU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},cU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},gU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},CU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},SU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},AU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},LU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},NU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},DU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},fU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},FU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},PU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},vU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},YU=vU,XU=vU,xU=vU,bU=vU,yU=vU,VU=vU,BU=vU,GU=vU,UU=vU,wU=vU,HU=vU,kU=vU,WU=vU,KU=vU,JU=vU,QU=vU,qU=vU,zU=vU,jU=vU,$U=vU,ZU=vU,tw=vU,ew=vU,iw=vU,nw=vU,sw=vU,ow=vU,_w=vU,pw=vU,aw=vU,uw=vU,rw=vU,dw=vU,lw=vU,Iw=vU;Object.assign(Tt.Variables,mt),Object.assign(Tt.Procedures,Yu),Object.assign(Tt.Lang.ZhHans,ut),Object.assign(Tt.Lang.ZhHant,rt),Object.assign(Tt.Lang.En,dt),Tt.Python=Xu,Tt.generator=Xu,Mt.Profile.default={},Object.assign(Mt.Profile,BG),Object.assign(Mt.Profile.default,BG["ESP32 Generic"]),Object.assign(Tt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,b,H,w,v,y,k,f,U,G,B,V,F,D,N,X,Y,x,P,lt),Object.assign(Tt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,tt,pt,_t,z,et,at,J,ot,st,nt,it,Q,K,W,$,j,Z,q,It)})(); \ No newline at end of file +class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Vt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Tt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Tt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Tt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Gt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(Pt);var t=new Tt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Tt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Tt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Tt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},jt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},te={init:function(){this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Tt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Tt.FieldDropdown([[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ee={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe={init:function(){this.setColour(Pt),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},_e={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},pe=230;Tt.FieldTextInput.math_number_validator=function(t){return String(t)},Tt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ae={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},re={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},de={init:function(){this.setColour(pe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(pe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ie={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Tt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Te={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Tt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Tt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Tt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Tt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Tt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Tt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Tt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Me={init:function(){var t=[[Tt.Msg.MATH_BIN,"bin"],[Tt.Msg.MATH_OCT,"oct"],[Tt.Msg.MATH_HEX,"hex"]];this.setColour(pe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Tt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Tt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Tt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Tt.Msg.LANG_MATH_TO_ROUND,"round"],[Tt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Tt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Tt.Msg.MATH_ABS,"fabs"],[Tt.Msg.MATH_SQRT,"sqrt"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Tt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Tt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Tt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Tt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Tt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Tt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},me={init:function(){var t=[[Tt.Msg.MIXLY_MAX,"max"],[Tt.Msg.MIXLY_MIN,"min"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Tt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Tt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Tt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ee={init:function(){var t=[[Tt.Msg.MATH_TWO,"two"],[Tt.Msg.MATH_EIGHT,"eight"],[Tt.Msg.MATH_TEN,"ten"],[Tt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(pe),this.appendDummyInput("").appendField(Tt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Tt.FieldDropdown(t),"OP").appendField(Tt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MATH_ZHW).appendField(new Tt.FieldDropdown(t),"OP2").appendField(Tt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Tt.Msg.MATH_Before_two,eight:Tt.Msg.MATH_Before_eight,ten:Tt.Msg.MATH_Before_ten,sixteen:Tt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Tt.Msg.MATH_Behind_two,eight:Tt.Msg.MATH_Behind_eight,ten:Tt.Msg.MATH_Behind_ten,sixteen:Tt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Tt.Msg.LANG_MATH_INT,"int"],[Tt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(pe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Tt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Tt.Msg.LANG_MATH_INT,float:Tt.Msg.LANG_MATH_FLOAT_RANDOM};return Tt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Re={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_CONSTRAIN_TOOLTIP)}},ce={init:function(){this.setColour(pe),this.appendValueInput("NUM",Number).appendField(Tt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Tt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Tt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ge={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},Ce={init:function(){this.setColour(pe),this.appendValueInput("NUM").setCheck(Number).appendField(Tt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Se={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MATH_ROUND).appendField(Tt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Tt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"],[Tt.Msg.MIXLY_TO_BITES,"b"],[Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Le={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ne=ce,De={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},fe={init:function(){this.setColour(pe),this.itemCount_=1,this.setMutator(new Tt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Tt.Msg.MIXLY_PRODUCT+Tt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Tt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Tt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const be={init:function(){this.setColour(ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Tt.FieldTextInput("",Tt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Tt.FieldImage(e,7,12,'"')}},ye={init:function(){this.setColour(ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Tt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ve={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Be={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String).appendField(Tt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ge={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.TEXT_GET_INDEX_RANDOM+1+Tt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.LISTS_GET_INDEX_GET,"MODE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Tt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Tt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Tt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Tt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Tt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Tt.Msg.TEXT_GET_INDEX_RANDOM};return Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Tt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Tt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Tt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},He={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Tt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Tt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Tt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},We={init:function(){this.WHERE_OPTIONS_1=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Tt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Tt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Je={init:function(){var t=[[Tt.Msg.MIXLY_EQUALS,"==="],[Tt.Msg.MIXLY_STARTSWITH,"startswith"],[Tt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Tt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Qe={init:function(){this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_COMPARETO_HELP)}},qe={init:function(){var t=[[Tt.Msg.TEXT_UPPER,"upper"],[Tt.Msg.TEXT_TITLE,"title"],[Tt.Msg.TEXT_CAPITALIZE,"capitalize"],[Tt.Msg.TEXT_SWAPCASE,"swapcase"],[Tt.Msg.TEXT_LOWER,"lower"]];this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Tt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Tt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Tt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Tt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Tt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Tt.Msg.TEXT_LJUST,"ljust"],[Tt.Msg.TEXT_CENTER,"center"],[Tt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ve),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Tt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Tt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},je={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Tt.Msg.MIXLY_MID+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ze={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Tt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ti={init:function(){this.setColour(ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Tt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Tt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ei={init:function(){var t=[[Tt.Msg.TEXT_TRIM_BOTH,"strip"],[Tt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Tt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Tt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Tt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Tt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ii={init:function(){this.setColour(ve),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Tt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_KEYS),this.setTooltip(Tt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_DELETE_TOOLTIP)}},_n={init:function(){this.setColour(zi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Tt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Tt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MID),this.setTooltip(Tt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_CLEAR),this.setTooltip(Tt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_ITEMS),this.setTooltip(Tt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},un={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_VALUES),this.setTooltip(Tt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LENGTH),this.setTooltip(Tt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_DELDICT),this.setTooltip(Tt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ln={init:function(){this.MODE=[[Tt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Tt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Tt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Tt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Tt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Tt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setTooltip(Tt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Mn={init:function(){this.setColour(zi),this.appendDummyInput("").appendField(new Tt.FieldLabel(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Tt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(zi),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},mn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(zi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},cn=210,gn={init:function(){var t=Tt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Tt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Sn={init:function(){var t=[[Tt.Msg.LOGIC_OPERATION_AND,"AND"],[Tt.Msg.LOGIC_OPERATION_OR,"OR"],[Tt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Tt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Tt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},An={init:function(){this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Tt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Tt.Msg.LOGIC_NEGATE_TOOLTIP)}},Ln={init:function(){var t=[[Tt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Tt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Tt.FieldDropdown(t),"BOOL"),this.setTooltip(Tt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Nn={init:function(){this.setColour(cn),this.setOutput(!0),this.appendDummyInput().appendField(Tt.Msg.LOGIC_NULL),this.setTooltip(Tt.Msg.LOGIC_NULL_TOOLTIP)}},Dn={init:function(){this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Tt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Tt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Tt.Msg.TEXT_APPEND_TO,"in"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Tt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Tt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.IN)}},Fn={init:function(){var t=[[Tt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Pn={init:function(){this.setColour(cn),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Tt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Tt.Msg.MIXLY_ADD,"a"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_ADD,"ab"],[Tt.Msg.MIXLY_R_W,"r+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_R_W,"rb+"],[Tt.Msg.MIXLY_W_R,"w+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_W_R,"wb+"],[Tt.Msg.MIXLY_A_R,"a+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXPY_TEXT_ENCODE).appendField(new Tt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},bn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MICROBIT_PYTHON_TYPE)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.HTML_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Hn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},qn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Tt.Msg.MIXLY_ESP32_SET+{mkdir:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Tt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_FILE,"isfile"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Tt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Tt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},es={init:function(){var t=Tt.Procedures.findLegalName("",this),e=new Tt.FieldTextInput(t,Tt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Tt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Tt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Tt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Tt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Tt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Tt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Tt.Events.enable()}},mutationToDom:function(t){var e=Tt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},js={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_FORM_CONTENT).appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_TEXT,"text"],[Tt.Msg.HTML_EMAIL,"email"],[Tt.Msg.HTML_NUMBER,"number"],[Tt.Msg.HTML_PASSWORD,"password"],[Tt.Msg.HTML_CHECKBOX,"checkbox"],[Tt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Tt.Msg.HTML_BUTTON,"button"],[Tt.Msg.HTML_COLOUR,"colour"],[Tt.Msg.HTML_DATE,"date"],[Tt.Msg.HTML_LOCALTIME,"local time"],[Tt.Msg.HTML_FILE,"file"],[Tt.Msg.HTML_HIDDEN,"hidden"],[Tt.Msg.HTML_IMAGE,"image"],[Tt.Msg.HTML_MONTH,"month"],[Tt.Msg.HTML_RANGE,"range"],[Tt.Msg.HTML_RESET,"reset"],[Tt.Msg.HTML_SEARCH,"search"],[Tt.Msg.HTML_SUBMIT,"submit"],[Tt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Tt.Msg.HTML_TIME,"time"],[Tt.Msg.HTML_URL,"url"],[Tt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Tt.Msg.HTML_NAME).appendField(new Tt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Tt.Msg.HTML_VALUE).appendField(new Tt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_TEXT).appendField(new Tt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo=160,io={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Tt.FieldTable(""),"TEXT")}},no={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT")}},so={init:function(){this.setColour(eo),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},oo={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Tt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(eo),this.appendValueInput("VALUE").appendField(Tt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ao={init:function(){this.setColour(eo),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Tt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Tt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Tt.isNumber(n)&&Tt.isNumber(s)&&Tt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const sa=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},oa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_a=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},pa=function(t,e){return["None",e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ra=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},da=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ta=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ma=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ea=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ca=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ga=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Aa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Da=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Tt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ou=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ru=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},cu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},gu=function(t,e){return'"},Cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Su=function(){return this.getFieldValue("TEXT")+"\n"},Au=function(t){return t.getFieldValue("TEXT")+"\n"},Lu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Du=function(){return""},fu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Fu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},Xu.scrubNakedValue=function(t){return t+"\n"},Xu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Xu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,Xu.COMMENT_WRAP-3),n+=Xu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const xu="#74A55B",bu={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},yu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Bu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Gu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Uu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Hu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ku={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Tt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ju={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},zu={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField("360°"+Tt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.blockpy_turtle_rotate+Tt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Zu={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},tr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},er={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ir={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Tt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Tt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},sr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Tt.Msg.MOTOR_N,"ms32006.MOT_N"],[Tt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Tt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_r={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},pr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},ar={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},rr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Tt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["SYN6288"+Tt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Tt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ir={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_WHETHER).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_STOPPED,"0"],[Tt.Msg.MIXLY_PLAYING,"1"],[Tt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_PLAY,"1"],[Tt.Msg.MIXLY_MP3_PAUSE,"2"],[Tt.Msg.MIXLY_STOP,"3"],[Tt.Msg.MIXLY_MP3_PREV,"4"],[Tt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Tt.Msg.MIXLY_MP3_VOL+Tt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE+Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Tt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Tt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Tt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Tt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Tt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Tt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Er={},Or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Rr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},cr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},gr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Cr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Sr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Ar={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LISTS_SET_INDEX_SET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Tt.Msg.MIXLY_SPEED,"[1]"],[Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Tt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SERVO+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MOTOR+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kr="#6C9858",Wr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Kr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_ON,"1"],[Tt.Msg.MIXLY_ESP32_OFF,"0"],[Tt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LIGHT_RED,"1"],[Tt.Msg.MIXLY_LIGHT_GREEN,"2"],[Tt.Msg.MIXLY_LIGHT_BLUE,"3"],[Tt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Tt.Msg.MIXLY_LIGHT_CYAN,"5"],[Tt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Tt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ed={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},id={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},nd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},sd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},od={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},_d={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ad={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ud={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dd={init:function(){this.setColour(kr),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Id={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Md={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},md={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ed={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Od={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(kr),this.appendDummyInput().appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Ad={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"1"],[Tt.Msg.TEXT_TRIM_RIGHT,"2"],[Tt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Dd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"0"],[Tt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},xd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},bd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_RECORD_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.MIXLY_ALL+Tt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},kd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_RELEASE).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT)}},Kd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SPECIAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Tt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Tt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Tt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Tt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Tt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Tt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Tt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Tt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Jd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GENERAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Qd={init:function(){this.setColour(kr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Tt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Tt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Vh={init:function(){this.jsonInit({colour:Nh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Tt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Tt.Msg.MIXLY_MICROBIT_Built_in_image})}},Bh={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Gh={init:function(){this.setColour(Nh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(Gh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Uh={init:function(){this.setColour(Nh),this.appendValueInput("A").setCheck("esp32_image").appendField(Tt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},wh={init:function(){this.setColour(Nh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(wh.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Tt.Msg.MIXLY_UP,shift_down:Tt.Msg.MIXLY_DOWN,shift_left:Tt.Msg.MIXLY_LEFT,shift_right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"shift_up"],[Tt.Msg.MIXLY_DOWN,"shift_down"],[Tt.Msg.MIXLY_LEFT,"shift_left"],[Tt.Msg.MIXLY_RIGHT,"shift_right"]]},Hh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Wh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Jh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Clear_display)}},Qh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SHOW+Tt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.OLED_SET_FONT).appendField(new Tt.FieldDropdown(em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Tt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},im={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},sm={init:function(){this.setColour(Nh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Tt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},om={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_m={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},pm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},am={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},um={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},dm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.mpython_display_hline_1,"1"],[Tt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},lm={init:function(){this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(lm.IMAGES),"path"),this.setColour(Nh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Im={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Mm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},hm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},mm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Tt.FieldDropdown(Em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Tt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Tt.Msg.CLOCKWISE+"90"+Tt.Msg.blockpy_setheading_degree,"1"],[Tt.Msg.CLOCKWISE+"180"+Tt.Msg.blockpy_setheading_degree,"2"],[Tt.Msg.CLOCKWISE+"270"+Tt.Msg.blockpy_setheading_degree,"3"]]},Om={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Rm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Rm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Tt.Msg.MIXLY_AipImageClassify_Image+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Sm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Am={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Nm={init:function(){this.jsonInit({colour:Nh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Dm={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},fm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Fm={init:function(){this.setColour(Nh),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Nh),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Tt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Tt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Tt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ym={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Vm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Bm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Nh),this.appendValueInput("direct").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Um={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ERROR_RATE).appendField(new Tt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Fh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Xh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){Kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qm={init:function(){Jh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm=180,zm={init:function(){this.setColour(qm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Tt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(zm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"]]},jm={init:function(){this.setColour(qm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(jm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},$m={init:function(){this.setColour(qm),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Tt.FieldDropdown($m.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE+{height:Tt.Msg.MIXLY_HEIGHT,width:Tt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Tt.Msg.MIXLY_HEIGHT,"height"],[Tt.Msg.MIXLY_WIDTH,"width"]]},Zm={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RECT).appendField(new Tt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_OLED_RECT)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Tt.FieldDropdown(tE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},eE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Tt.FieldDropdown(eE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},iE="#777777",nE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("from ").appendField(new Tt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Tt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("import ").appendField(new Tt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField(new Tt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},KE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},QE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PROJECT).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},jE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.appendDummyInput().appendField(Tt.Msg.MIXLY_Service_quality_display).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Tt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},$E={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},ZE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},nO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},sO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},oO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_O={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},pO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Tt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},aO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+Tt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rO={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(BE),this.appendDummyInput("").appendField(new Tt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},dO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Tt.Msg.MIXLY_REQUESTS_GET).appendField(Tt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Tt.Msg.MQTT_Topic).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},hO=GE,mO=UE,EO=wE,OO=HE,RO=WE,cO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO=cO,CO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},LO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("Ollama "+Tt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Tt.inputs.Align.RIGHT).appendField(`MixIO ${Tt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},vO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},YO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO=225,xO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NETWORK_MODE).appendField(new Tt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},bO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Tt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},yO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},VO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Tt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},BO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},GO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Tt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},UO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Tt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Tt.Msg.MIXLY_ESP32_NETWORK_IP,1:Tt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},wO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},HO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},kO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Tt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},WO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},KO={init:function(){this.setColour(XO),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Tt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},JO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},QO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},qO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},zO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},jO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},$O={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},ZO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},tR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},eR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},iR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},nR={init:function(){this.setColour(XO),this.appendValueInput("DOMAIN").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS_GET).appendField(new Tt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},sR={init:function(){this.appendValueInput("VAL"),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(sR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Tt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Tt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Tt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},oR={init:function(){this.appendValueInput("VAR").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown(oR.METHOD),"DIR"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},_R={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Tt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},pR={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},aR="#3288dd",uR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS).appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},rR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Tt.Msg.blockpy_REQUESTS+Tt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},dR={init:function(){this.appendValueInput("VAL"),this.setColour(aR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(dR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Tt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},lR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Tt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},IR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Tt.Msg.MIXLY_EMQX_PORT).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(aR),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Tt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},MR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"+Tt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ER=100,OR={init:function(){this.setColour(ER),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},RR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},cR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},CR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},SR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},AR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},LR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},NR="#A58C5B",DR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_IS_PRESSED)}},fR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_WAS_PRESSED)}},FR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_BUTTON+Tt.Msg.MIXLY_GET_PRESSES)}},PR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Tt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Tt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},vR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Tt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down,freefall:Tt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},YR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},XR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},xR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(new Tt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Tt.FieldDropdown(xR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},bR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},yR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},VR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"left"],[Tt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Tt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Tt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Tt.Msg.MIXLY_ESP32_NEAR;return i+{left:Tt.Msg.TEXT_TRIM_LEFT,right:Tt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},BR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Tt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},GR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Tt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},UR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},wR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField("LM35"+Tt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LM35)}},HR={init:function(){this.setColour(NR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Tt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Tt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Tt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Tt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Tt.Msg.HTML_COLOUR+"、"+Tt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Tt.Msg.MIXLY_NEXT+"、"+Tt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Tt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Tt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Tt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Tt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Tt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},WR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},KR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},JR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},QR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Tt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Tt.Msg.MIXLY_THE_FIRST,"3"],[Tt.Msg.MIXLY_THE_SECOND,"4"],[Tt.Msg.MIXLY_THE_THIRD,"5"],[Tt.Msg.MIXLY_THE_FOURTH,"6"],[Tt.Msg.MIXLY_THE_FIFTH,"7"],[Tt.Msg.MIXLY_THE_SIXTH,"8"],[Tt.Msg.MIXLY_THE_SEVENTH,"9"],[Tt.Msg.MIXLY_THE_EIGHTH,"10"],[Tt.Msg.MIXLY_THE_NINTH,"11"],[Tt.Msg.MIXLY_THE_TENTH,"12"],[Tt.Msg.MIXLY_THE_ELEVENTH,"13"],[Tt.Msg.MIXLY_THE_TWELFTH,"14"],[Tt.Msg.MIXLY_THE_13TH,"15"],[Tt.Msg.MIXLY_THE_14TH,"16"],[Tt.Msg.MIXLY_THE_15TH,"17"],[Tt.Msg.MIXLY_THE_16TH,"18"],[Tt.Msg.MIXLY_THE_17TH,"19"],[Tt.Msg.MIXLY_THE_18TH,"20"],[Tt.Msg.MIXLY_THE_19TH,"21"],[Tt.Msg.MIXLY_THE_20TH,"22"],[Tt.Msg.MIXLY_Turn_on_the_lights,"23"],[Tt.Msg.MIXLY_Turn_off_the_lights,"24"],[Tt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Tt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Tt.Msg.MIXLY_Set_it_to_red,"27"],[Tt.Msg.MIXLY_Set_it_to_orange,"28"],[Tt.Msg.MIXLY_Set_it_to_yellow,"29"],[Tt.Msg.MIXLY_Set_it_to_green,"30"],[Tt.Msg.MIXLY_Set_it_to_cyan,"31"],[Tt.Msg.MIXLY_Set_it_to_blue,"32"],[Tt.Msg.MIXLY_Set_it_to_purple,"33"],[Tt.Msg.MIXLY_Set_it_to_white,"34"],[Tt.Msg.MIXLY_Turn_on_the_fan,"35"],[Tt.Msg.MIXLY_Turn_off_the_fan,"36"],[Tt.Msg.MIXLY_First_gear,"37"],[Tt.Msg.MIXLY_Wind_speed_second,"38"],[Tt.Msg.MIXLY_Third_gear,"39"],[Tt.Msg.MIXLY_Previous,"40"],[Tt.Msg.MIXLY_Next_page,"41"],[Tt.Msg.MIXLY_Show_smiley_face,"42"],[Tt.Msg.MIXLY_Show_crying_face,"43"],[Tt.Msg.MIXLY_Show_love,"44"],[Tt.Msg.MIXLY_Close_display,"45"],[Tt.Msg.MIXLY_Start_execution,"46"],[Tt.Msg.MIXLY_FORWARD,"47"],[Tt.Msg.MIXLY_BACKWARD,"48"],[Tt.Msg.MIXLY_TURNLEFT,"49"],[Tt.Msg.MIXLY_TURNRIGHT,"50"],[Tt.Msg.MIXLY_STOP,"51"],[Tt.Msg.MIXLY_Accelerate,"52"],[Tt.Msg.MIXLY_retard,"53"],[Tt.Msg.ROTATION_FORWARD,"54"],[Tt.Msg.ROTATION_BACKWARD,"55"],[Tt.Msg.MIXLY_Query_temperature,"56"],[Tt.Msg.MIXLY_Query_humidity,"57"],[Tt.Msg.MIXLY_Query_brightness,"58"],[Tt.Msg.MIXLY_Query_sound,"59"],[Tt.Msg.MIXLY_Query_time,"60"],[Tt.Msg.MIXLY_Query_distance,"61"],[Tt.Msg.MIXLY_Query_pressure,"62"],[Tt.Msg.MIXLY_Query_key,"63"],[Tt.Msg.MIXLY_Query_touch,"64"],[Tt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Tt.Msg.MIXLY_WHETHER+Tt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},zR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Tt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Tt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},jR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MP3_PLAY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_WIND_SPEED,"154"],[Tt.Msg.MIXLY_HYETAL,"155"],[Tt.Msg.MIXLY_TEMPERATURE,"156"],[Tt.Msg.MIXLY_Humidity,"157"],[Tt.Msg.MIXLY_Altitude,"158"],[Tt.Msg.MIXLY_SOUND,"159"],[Tt.Msg.MIXLY_BRIGHTNESS,"160"],[Tt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Tt.Msg.MIXLY_SERVO,"162"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Tt.Msg.MIXLY_BUTTON2,"164"],[Tt.Msg.MIXLY_ESP32_TOUCH,"165"],[Tt.Msg.MIXLY_PAY,"166"],[Tt.Msg.MIXLY_CARSH_CHANGE,"167"],[Tt.Msg.MIXLY_COUNTDOWN,"168"],[Tt.Msg.MIXLY_TIMING,"169"],[Tt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Tt.Msg.MIXLY_FORWARD,"172"],[Tt.Msg.MIXLY_BACKWARD,"173"],[Tt.Msg.MIXLY_TURNLEFT,"174"],[Tt.Msg.MIXLY_TURNRIGHT,"175"],[Tt.Msg.MIXLY_STOP,"176"],[Tt.Msg.MIXLY_Accelerate,"177"],[Tt.Msg.MIXLY_retard,"178"],[Tt.Msg.ROTATION_FORWARD,"179"],[Tt.Msg.ROTATION_BACKWARD,"180"],[Tt.Msg.TUPLE_JOIN,"181"],[Tt.Msg.MIXLY_SHOW,"182"],[Tt.Msg.MIXLY_LAMPLIGHT,"183"],[Tt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Tt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_UNIT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_YEAR,"117"],[Tt.Msg.MIXLY_MONTH,"118"],[Tt.Msg.MIXLY_DAY,"119"],[Tt.Msg.MIXLY_HOUR,"120"],[Tt.Msg.MIXLY_MINUTE,"121"],[Tt.Msg.MIXLY_SECOND,"122"],[Tt.Msg.MIXLY_WEEK2,"123"],[Tt.Msg.MIXLY_RMB_UNIT,"124"],[Tt.Msg.blockpy_setheading_degree,"125"],[Tt.Msg.MIXLY_GEAR,"126"],[Tt.Msg.MIXLY_LAYER,"127"],[Tt.Msg.MIXLY_GRAM,"128"],[Tt.Msg.MIXLY_METER,"129"],[Tt.Msg.MIXLY_CENTIMETER,"130"],[Tt.Msg.MIXLY_MILLIMETER,"131"],[Tt.Msg.MIXLY_LUMEN,"132"],[Tt.Msg.MIXLY_DECIBEL,"133"],[Tt.Msg.MIXLY_hectopascal,"134"],[Tt.Msg.MIXLY_PERCENT,"135"],[Tt.Msg.MIXLY_CELSIUS,"136"],[Tt.Msg.MIXLY_METER_PER_SEC,"137"],[Tt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Tt.Msg.MIXLY_SUCCESS,"140"],[Tt.Msg.MIXLY_FAILED,"141"],[Tt.Msg.MIXLY_WRONG,"142"],[Tt.Msg.MIXLY_GOOD,"143"],[Tt.Msg.MIXLY_blockpy_set_add,"144"],[Tt.Msg.MIXLY_DECREASE,"145"],[Tt.Msg.COLOUR_RGB_RED,"146"],[Tt.Msg.COLOUR_RGB_ORANGE,"147"],[Tt.Msg.COLOUR_YELLOW,"148"],[Tt.Msg.COLOUR_RGB_GREEN,"149"],[Tt.Msg.COLOUR_CYAN,"150"],[Tt.Msg.COLOUR_RGB_BLUE,"151"],[Tt.Msg.COLOUR_RGB_PURPLE,"152"],[Tt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$R={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_SYSTEM+Tt.Msg.MIXLY_CMD).appendField(new Tt.FieldDropdown([[Tt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Tt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Tt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Tt.Msg.MIXLY_MAX_VOLUME,"204"],[Tt.Msg.MIXLY_MINIMUM,"205"],[Tt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Tt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Tt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Tt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Tt.Msg.MIXLY_ESP32_MAX30102_IR+","+Tt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Tt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Tt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+Tt.Msg.HTML_COLOUR,"[2]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+"RGB"+Tt.Msg.HTML_COLOUR,"0"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_RGB_RAW,"1"],[Tt.Msg.MIXLY_GET_ENV_LIGHT+Tt.Msg.MIXLY_BRIGHTNESS,"2"],[Tt.Msg.GET_IR_STRENGTH+Tt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Tt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ac={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MIXGOPE_FIELD+Tt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Tt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Tc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET+Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},hc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Ec={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_GETTEMPERATUE)}},Oc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},cc={init:function(){this.setColour(NR),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},gc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Tt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Tt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Tt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Tt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},KF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},QF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},zF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},jF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},$F=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},ZF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},tP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},eP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},iP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},nP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},pP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},aP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},uP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},rP=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},dP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},lP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},IP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},TP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},MP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},hP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},mP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},EP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},OP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},RP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},cP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},gP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},CP=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},SP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},AP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},LP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},NP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},DP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},fP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},FP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},vP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},YP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},xP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},bP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=Mt.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},BP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},UP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},kP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},KP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},JP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},qP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},zP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},jP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},$P=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},ZP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform()))return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},tv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},ev=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},iv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},nv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},sv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},ov=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},_v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},av=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},tY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},eY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},iY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},nY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},sY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},oY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},_Y=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},pY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},aY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},uY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},rY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},dY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},lY=$P,IY=mv,TY=Tv,MY=mv,hY=Ev,mY=rv,EY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},OY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},RY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},BB=function(){return"control.reset()\n"},GB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},UB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},wB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},HB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},kB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},WB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},KB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},JB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},QB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},qB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},zB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},jB=function(){return"while True:\n pass\n"},$B=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},ZB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},tG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},eG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},iG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},nG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},sG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},oG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},_G=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},aG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},uG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},rG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},dG=oG,lG=_G,IG=sG,TG=tG,MG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},OG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},RG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},cG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},LG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},NG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},DG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},fG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},FG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:PG}=Mt,vG=PG.render(FG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:YG}=Mt,XG=YG.render(FG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:xG}=Mt,bG=xG.render(FG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),yG=new Tt.Generator("Python");yG.INDENT=" ",yG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),yG.ORDER_ATOMIC=0,yG.ORDER_COLLECTION=1,yG.ORDER_STRING_CONVERSION=1,yG.ORDER_UNARY_POSTFIX=1,yG.ORDER_UNARY_PREFIX=2,yG.ORDER_MEMBER=2.1,yG.ORDER_FUNCTION_CALL=2.2,yG.ORDER_EXPONENTIATION=3,yG.ORDER_UNARY_SIGN=4,yG.ORDER_BITWISE_NOT=4,yG.ORDER_MULTIPLICATIVE=5,yG.ORDER_ADDITIVE=6,yG.ORDER_BITWISE_SHIFT=7,yG.ORDER_BITWISE_AND=8,yG.ORDER_BITWISE_XOR=9,yG.ORDER_BITWISE_OR=10,yG.ORDER_RELATIONAL=11,yG.ORDER_EQUALITY=11,yG.ORDER_LOGICAL_NOT=12,yG.ORDER_LOGICAL_AND=13,yG.ORDER_LOGICAL_OR=14,yG.ORDER_ASSIGNMENT=14,yG.ORDER_CONDITIONAL=15,yG.ORDER_LAMBDA=16,yG.ORDER_NONE=99,yG.ORDER_OVERRIDES=[[yG.ORDER_FUNCTION_CALL,yG.ORDER_MEMBER],[yG.ORDER_FUNCTION_CALL,yG.ORDER_FUNCTION_CALL],[yG.ORDER_MEMBER,yG.ORDER_MEMBER],[yG.ORDER_MEMBER,yG.ORDER_FUNCTION_CALL]],yG.init=function(){yG.PASS=this.INDENT+"pass\n",yG.definitions_=Object.create(null),yG.functionNames_=Object.create(null),yG.setups_=Object.create(null),yG.loops_=Object.create(null),yG.codeEnd_=Object.create(null),yG.variableDB_?yG.variableDB_.reset():yG.variableDB_=new Ot(yG.RESERVED_WORDS_)},yG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in yG.functions_)_.push(yG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in yG.setups_)p.push(yG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in yG.loops_)a.push(yG.loops_[s]);var u=[];for(var s in yG.codeEnd_)u.push(yG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},yG.scrubNakedValue=function(t){return t+"\n"},yG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},yG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},yG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,yG.COMMENT_WRAP-3),n+=yG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const VG={};VG.MixGo={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:Mt.Profile.generate(["0-7"]),exlcdv:Mt.Profile.generate(["0-4"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["ESP32 Generic(4MB)"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const BG=VG,GG=230,UG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},QG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},qG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},jG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},oU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},pU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},rU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},dU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},lU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},IU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},TU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},MU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},hU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},mU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},EU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},OU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},RU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},cU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},gU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},CU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},SU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},AU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},LU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},NU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},DU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},fU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},FU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},PU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},vU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},YU=vU,XU=vU,xU=vU,bU=vU,yU=vU,VU=vU,BU=vU,GU=vU,UU=vU,wU=vU,HU=vU,kU=vU,WU=vU,KU=vU,JU=vU,QU=vU,qU=vU,zU=vU,jU=vU,$U=vU,ZU=vU,tw=vU,ew=vU,iw=vU,nw=vU,sw=vU,ow=vU,_w=vU,pw=vU,aw=vU,uw=vU,rw=vU,dw=vU,lw=vU,Iw=vU;Object.assign(Tt.Variables,mt),Object.assign(Tt.Procedures,Yu),Object.assign(Tt.Lang.ZhHans,ut),Object.assign(Tt.Lang.ZhHant,rt),Object.assign(Tt.Lang.En,dt),Tt.Python=Xu,Tt.generator=Xu,Mt.Profile.default={},Object.assign(Mt.Profile,BG),Object.assign(Mt.Profile.default,BG["ESP32 Generic"]),Object.assign(Tt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,b,H,w,v,y,k,f,U,G,B,V,F,D,N,X,Y,x,P,lt),Object.assign(Tt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,tt,pt,_t,z,et,at,J,ot,st,nt,it,Q,K,W,$,j,Z,q,It)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/config.json b/boards/default/micropython_esp32c2/config.json index cbdc56f3..63fe4ab8 100644 --- a/boards/default/micropython_esp32c2/config.json +++ b/boards/default/micropython_esp32c2/config.json @@ -1,6 +1,6 @@ { "board": { - "MixGo MINI": { + "元控奋斗(MINI)": { "key": "micropython:esp32c2:mixgo_mini", "config": [ { diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/01-1-快速入门-你好世界.mix index e2051614..b911a947 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/01-1-快速入门-你好世界.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/01-1-快速入门-你好世界.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTHello,Mixly!{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK \ No newline at end of file +WHILETRUEonboard_matrix.HEARTHello,Mixly!{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/01-2-快速入门-你好世界2.mix index 7687a27c..6a5cda20 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/01-2-快速入门-你好世界2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/01-2-快速入门-你好世界2.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTonboard_matrix.HEARTHello,Mixly!050{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo= \ No newline at end of file +WHILETRUEonboard_matrix.HEARTonboard_matrix.HEARTHello,Mixly!050{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5tYXBfaW52ZXJ0KG9uYm9hcmRfbWF0cml4LkhFQVJUKSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnSGVsbG8sTWl4bHkhJyxzcGVlZCA9NTAsc3BhY2UgPSAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/02-1-快速入门-跳动的心.mix index adea8428..a0e28f03 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/02-1-快速入门-跳动的心.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/02-1-快速入门-跳动的心.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/02-2-快速入门-为你心动.mix index 76b8ec22..38e816cb 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/02-2-快速入门-为你心动.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/02-2-快速入门-为你心动.mix @@ -1 +1 @@ -MixlyWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +MixlyWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWl4bHknKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/03-1-快速入门-心随我动.mix index 71a380ff..b20a3cf7 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/03-1-快速入门-心随我动.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/03-1-快速入门-心随我动.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HEARTonboard_matrix.HEART_SMALL{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg== \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HEARTonboard_matrix.HEART_SMALL{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/03-2-快速入门-心随我动2.mix index a6343fba..b1f9266a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/03-2-快速入门-心随我动2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/03-2-快速入门-心随我动2.mix @@ -1 +1 @@ -WHILETRUEANDB1keyB2keyonboard_matrix.SADB1keyonboard_matrix.HEARTB2keyonboard_matrix.HEART_SMALLonboard_matrix.SMILE{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo= \ No newline at end of file +WHILETRUEANDB1keyB2keyonboard_matrix.SADB1keyonboard_matrix.HEARTB2keyonboard_matrix.HEART_SMALLonboard_matrix.SMILE{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgZWxpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsaWYgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNNSUxFKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯1.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯1.mix index 5a344e8b..674d31bd 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯1.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯1.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3021i0i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3021i0i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯2.mix index db8903f0..774331eb 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯2.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3021i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3021i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯3.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯3.mix index 45aeb583..a259442e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯3.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯3.mix @@ -1 +1 @@ -0,1,2,3081Y0,1,2,30121X0X0YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +0,1,2,3081Y0,1,2,30121X0X0YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯4.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯4.mix index 6867a995..7b98ad28 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯4.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯4.mix @@ -1 +1 @@ -0,1,2,3082Y0,1,2,30121X0X0YONs0.10,1,2,311-1-1X0X0ADD1Y1ONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +0,1,2,3082Y0,1,2,30121X0X0YONs0.10,1,2,311-1-1X0X0ADD1Y1ONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBZIGluIHJhbmdlKDAsIDgsIDIpOgogICAgZm9yIFggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFggaW4gcmFuZ2UoMTEsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KFgpLCBpbnQoWSArIDEpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯5.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯5.mix index 6bac4551..c78dd433 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯5.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯5.mix @@ -1 +1 @@ -0,1,2,30122X0,1,2,3081Y0X0YONs0.10,1,2,37-1-1Y0ADD1X10YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +0,1,2,30122X0,1,2,3081Y0X0YONs0.10,1,2,37-1-1Y0ADD1X10YONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmZvciBYIGluIHJhbmdlKDAsIDEyLCAyKToKICAgIGZvciBZIGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChYKSwgaW50KFkpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZm9yIFkgaW4gcmFuZ2UoNywgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoWCArIDEpLCBpbnQoWSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-2-快速入门-显示中文.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-2-快速入门-显示中文.mix index 92f87299..dc97b82a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-2-快速入门-显示中文.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-2-快速入门-显示中文.mix @@ -1 +1 @@ -WHILETRUE我爱米思齐{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ+aIkeeIseexs+aAnem9kCcpCg== \ No newline at end of file +WHILETRUE我爱米思齐{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ+aIkeeIseexs+aAnem9kCcpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-3-快速入门-剪刀石头布.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-3-快速入门-剪刀石头布.mix index d9e45e9b..2991a7d8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-3-快速入门-剪刀石头布.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/04-3-快速入门-剪刀石头布.mix @@ -1 +1 @@ -AWHILETRUEGT100997msAint13EQA1onboard_matrix.HEART[[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0,1,0,0,0],[0,0,0,0,0,1,0,1,0,0,0,0],[0,0,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,1,0,1,0,0,0,0],[0,0,1,1,1,0,0,0,1,1,1,0],[0,0,1,0,1,0,0,0,1,0,1,0],[0,0,1,1,1,0,0,0,1,1,1,0]]EQA2onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]EQA3onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,1,1,1,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,1,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpBID0gTm9uZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICByYW5kb20uc2VlZCh0aW1lLnRpY2tzX21zKCkpOwogICAgICAgIEEgPSByYW5kb20ucmFuZGludCgxLCAzKQogICAgICAgIGlmIEEgPT0gMToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgwMFx4MDBceGUwXHhhMVx4ZTJceDE0XHgwOFx4MTRceGUyXHhhMVx4ZTBceDAwJykpCiAgICAgICAgZWxpZiBBID09IDI6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MDBceDAwXHgwMFx4MDBceDNjXHgzY1x4M2NceDNjXHgzY1x4MDBceDAwXHgwMCcpKQogICAgICAgIGVsaWYgQSA9PSAzOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDAwXHgwMFx4MDBceDdlXHg0Mlx4NDJceDQyXHg0Mlx4NDJceDdlXHgwMFx4MDAnKSkK \ No newline at end of file +AWHILETRUEGT100997msAint13EQA1onboard_matrix.HEART[[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0,1,0,0,0],[0,0,0,0,0,1,0,1,0,0,0,0],[0,0,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,1,0,1,0,0,0,0],[0,0,1,1,1,0,0,0,1,1,1,0],[0,0,1,0,1,0,0,0,1,0,1,0],[0,0,1,1,1,0,0,0,1,1,1,0]]EQA2onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]EQA3onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,1,1,1,1,1,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,0,0,0,0,0,1,0,0],[0,0,0,1,1,1,1,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpBID0gTm9uZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICByYW5kb20uc2VlZCh0aW1lLnRpY2tzX21zKCkpOwogICAgICAgIEEgPSByYW5kb20ucmFuZGludCgxLCAzKQogICAgICAgIGlmIEEgPT0gMToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgwMFx4MDBceGUwXHhhMVx4ZTJceDE0XHgwOFx4MTRceGUyXHhhMVx4ZTBceDAwJykpCiAgICAgICAgZWxpZiBBID09IDI6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MDBceDAwXHgwMFx4MDBceDNjXHgzY1x4M2NceDNjXHgzY1x4MDBceDAwXHgwMCcpKQogICAgICAgIGVsaWYgQSA9PSAzOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDAwXHgwMFx4MDBceDdlXHg0Mlx4NDJceDQyXHg0Mlx4NDJceDdlXHgwMFx4MDAnKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-1-过程控制-双键开关.mix index 8055752c..a6d16945 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-1-过程控制-双键开关.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-1-过程控制-双键开关.mix @@ -1 +1 @@ -WHILETRUEB1key11B2key10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUEB1key11B2key10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-快速入门-单键开关2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-快速入门-单键开关2.mix index f28225a4..f3fd0306 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-快速入门-单键开关2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-快速入门-单键开关2.mix @@ -1 +1 @@ -WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file +WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-过程控制-单键开关.mix index a2c76748..63aa75c0 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-过程控制-单键开关.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-过程控制-单键开关.mix @@ -1 +1 @@ -WHILETRUEB1keytrue11B1key10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUEB1keytrue11B1key10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-3-过程控制-IPO概念.mix index 993b31af..6010822d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-3-过程控制-IPO概念.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/05-3-过程控制-IPO概念.mix @@ -1 +1 @@ -显示FALSEWHILETRUEB1key显示显示显示onboard_matrix.HEART{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +显示FALSEWHILETRUEB1key显示显示显示onboard_matrix.HEART{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl85OF9CRV9FN19BNF9CQSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBID0gbm90IF9FNl85OF9CRV9FN19BNF9CQQogICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/06-1-过程控制-声音采集.mix index 94350652..2ffe304c 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/06-1-过程控制-声音采集.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/06-1-过程控制-声音采集.mix @@ -1 +1 @@ -WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file +WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/06-2-过程控制-看见声音.mix index 3b95e54a..2efc2f17 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/06-2-过程控制-看见声音.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/06-2-过程控制-看见声音.mix @@ -1 +1 @@ -WHILETRUEMixly0,1,2,305intx500100071y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEMixly0,1,2,305intx500100071y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDcpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/07-1-过程控制-光强采集.mix index 12686eb2..32d3af34 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/07-1-过程控制-光强采集.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/07-1-过程控制-光强采集.mix @@ -1 +1 @@ -WHILETRUEMixlyFalseMixlyxintx0s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEMixlyFalseMixlyxintx0s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/07-2-过程控制-自动补光.mix index 2e8faa2e..216950f5 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/07-2-过程控制-自动补光.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/07-2-过程控制-自动补光.mix @@ -1 +1 @@ -当前光强0补光大小0WHILETRUE当前光强intxMixly当前光强FalseMixlyx当前光强0补光大小1000MINUS251当前光强0250补光大小0补光大小0补光大小{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +当前光强0补光大小0WHILETRUE当前光强intxMixly当前光强FalseMixlyx当前光强0补光大小1000MINUS251当前光强0250补光大小0补光大小0补光大小{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCgpfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEgPSAwCl9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNV9CRF85M19FNV84OV84RF9FNV84NV84OV9FNV9CQ19CQSA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBwcmludChfRTVfQkRfOTNfRTVfODlfOERfRTVfODVfODlfRTVfQkNfQkEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBKSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYgPSBtaW4obWF4KDI1IC0gX0U1X0JEXzkzX0U1Xzg5XzhEX0U1Xzg1Xzg5X0U1X0JDX0JBLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKChfRThfQTFfQTVfRTVfODVfODlfRTVfQTRfQTdfRTVfQjBfOEYsIF9FOF9BMV9BNV9FNV84NV84OV9FNV9BNF9BN19FNV9CMF84RiwgX0U4X0ExX0E1X0U1Xzg1Xzg5X0U1X0E0X0E3X0U1X0IwXzhGKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/08-1-过程控制-接近检测.mix index 306e8683..285228a9 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/08-1-过程控制-接近检测.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/08-1-过程控制-接近检测.mix @@ -1 +1 @@ -接近距离0WHILETRUE接近距离intxMixly接近距离Mixlyx接近距离{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg== \ No newline at end of file +接近距离0WHILETRUE接近距离intxMixly接近距离Mixlyx接近距离{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gMAp3aGlsZSBUcnVlOgogICAgX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID0gaW50KG9uYm9hcmRfYWxzLnBzX25sKCkpCiAgICBwcmludChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQikpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/08-2-过程控制-入侵报警.mix index ff84d40a..6a139357 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/08-2-过程控制-入侵报警.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/08-2-过程控制-入侵报警.mix @@ -1 +1 @@ -接近距离0是否报警FALSEWHILETRUE接近距离intxMixly接近距离FalseMixlyxZHENGCHU1接近距离1000是否报警GT接近距离1000是否报警onboard_music.DADADADUM{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +接近距离0是否报警FALSEWHILETRUE接近距离intxMixly接近距离FalseMixlyxZHENGCHU1接近距离1000是否报警GT接近距离1000是否报警onboard_music.DADADADUM{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IDAKX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIF9FNl84RV9BNV9FOF9CRl85MV9FOF9CN185RF9FN19BNl9CQiA9IGludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgcHJpbnQoX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOEVfQTVfRThfQkZfOTFfRThfQjdfOURfRTdfQTZfQkIgLy8gMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2ID0gX0U2XzhFX0E1X0U4X0JGXzkxX0U4X0I3XzlEX0U3X0E2X0JCID4gMTAwMAogICAgaWYgX0U2Xzk4X0FGX0U1XzkwX0E2X0U2XzhBX0E1X0U4X0FEX0E2OgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/09-1-输入输出-加速度.mix index 05a0e9b3..cc27dbf6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/09-1-输入输出-加速度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/09-1-输入输出-加速度.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/09-2-输入输出-平衡仪.mix index 7e7c1c2d..044d26eb 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/09-2-输入输出-平衡仪.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/09-2-输入输出-平衡仪.mix @@ -1 +1 @@ -x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/10-1-输入输出-地磁强度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/10-1-输入输出-地磁强度.mix index 23bfecfe..8e18b8dc 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/10-1-输入输出-地磁强度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/10-1-输入输出-地磁强度.mix @@ -1 +1 @@ -WHILETRUEMixlyalls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEMixlyalls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/10-2-输入输出-金属探测.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/10-2-输入输出-金属探测.mix index 07d16a1f..4ae0a6b7 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/10-2-输入输出-金属探测.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/10-2-输入输出-金属探测.mix @@ -1 +1 @@ -WHILETRUEGTall2000440100TrueGO0s1B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file +WHILETRUEGTall2000440100TrueGO0s1B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX21ncy5nZXRzdHJlbmd0aCgpID4gMjAwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/11-1-输入输出-点阵控制.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/11-1-输入输出-点阵控制.mix index 3ba14ebd..a213abf7 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/11-1-输入输出-点阵控制.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/11-1-输入输出-点阵控制.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONms100,1,2,30121x0,1,2,3081y0x0yONms10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgZm9yIHggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file +WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONms100,1,2,30121x0,1,2,3081y0x0yONms10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgZm9yIHggaW4gcmFuZ2UoMCwgMTIsIDEpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDgsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/11-2-输入输出-光标控制.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/11-2-输入输出-光标控制.mix index 74630e65..250ce9b2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/11-2-输入输出-光标控制.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/11-2-输入输出-光标控制.mix @@ -1 +1 @@ -64ONWHILETRUEA1keyshift_down1A2keyshift_left1A3keyshift_up1A4keyshift_right1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK \ No newline at end of file +64ONWHILETRUEA1keyshift_down1A2keyshift_left1A3keyshift_up1A4keyshift_right1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfbWF0cml4LnBpeGVsKGludCg2KSwgaW50KDQpLCAxKQpvbmJvYXJkX21hdHJpeC5zaG93KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9kb3duKDEpCiAgICBpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3VwKDEpCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfcmlnaHQoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-1-输入输出-实时时钟.mix index 2de81391..8db17e51 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-1-输入输出-实时时钟.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-1-输入输出-实时时钟.mix @@ -1 +1 @@ -20244221445WHILETRUEMixlys1{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +20244221445WHILETRUEMixlys1{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpudHB0aW1lLnNldHRpbWUoKDIwMjQsNCwyLDIxLDA0LDQ1LDAsMCkpCndoaWxlIFRydWU6CiAgICBwcmludCh0aW1lLmxvY2FsdGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix index 82507dcc..13b6acac 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix @@ -1 +1 @@ -20244221445WHILETRUEmytupMixly{}:{}:{}xmytup3xmytup4xmytup5s0.5{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +20244221445WHILETRUEmytupMixly{}:{}:{}xmytup3xmytup4xmytup5s0.5{}aW1wb3J0IG50cHRpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-3-输入输出-随机变色灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-3-输入输出-随机变色灯.mix index 72601e3c..26fbb980 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-3-输入输出-随机变色灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-3-输入输出-随机变色灯.mix @@ -1 +1 @@ -rgb412WHILETRUEA1key997msrgb0int02550int02550int0255rgbA2keyrgb000rgb{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG5lb3BpeGVsCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCByYW5kb20KaW1wb3J0IHRpbWUKCgpyZ2IgPSBuZW9waXhlbC5OZW9QaXhlbChtYWNoaW5lLlBpbig0KSwgMTIpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgcmFuZG9tLnNlZWQodGltZS50aWNrc19tcygpKTsKICAgICAgICByZ2IuZmlsbCgoKHJhbmRvbS5yYW5kaW50KDAsIDI1NSkpLCAocmFuZG9tLnJhbmRpbnQoMCwgMjU1KSksIChyYW5kb20ucmFuZGludCgwLCAyNTUpKSkpCiAgICAgICAgcmdiLndyaXRlKCkKICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHJnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICByZ2Iud3JpdGUoKQo= \ No newline at end of file +rgb412WHILETRUEA1key997msrgb0int02550int02550int0255rgbA2keyrgb000rgb{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG5lb3BpeGVsCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCByYW5kb20KaW1wb3J0IHRpbWUKCgpyZ2IgPSBuZW9waXhlbC5OZW9QaXhlbChtYWNoaW5lLlBpbig0KSwgMTIpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgcmFuZG9tLnNlZWQodGltZS50aWNrc19tcygpKTsKICAgICAgICByZ2IuZmlsbCgoKHJhbmRvbS5yYW5kaW50KDAsIDI1NSkpLCAocmFuZG9tLnJhbmRpbnQoMCwgMjU1KSksIChyYW5kb20ucmFuZGludCgwLCAyNTUpKSkpCiAgICAgICAgcmdiLndyaXRlKCkKICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHJnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICByZ2Iud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-4-输入输出-外接土壤湿度传感器.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-4-输入输出-外接土壤湿度传感器.mix index 00bd71ae..76da8e5d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-4-输入输出-外接土壤湿度传感器.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/12-4-输入输出-外接土壤湿度传感器.mix @@ -1 +1 @@ -adc4土壤湿度检测并显示表情4machine.ADC.ATTN_11DBadc4biaoqing[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,0,0,1,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUELTLT xadc4 onboard_matrix.HEARTbiaoqing0LTLT xadc4 onboard_matrix.HEARTbiaoqing1LTLT xadc4 onboard_matrix.HEARTbiaoqing2s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCiMg5Zyf5aOk5rm/5bqm5qOA5rWL5bm25pi+56S66KGo5oOFCmFkYzQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbig0KSkKYWRjNC5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCmJpYW9xaW5nPSAoYnl0ZWFycmF5KGInXHgwMFx4MDRceDAyXHgyMlx4NDRceDgwXHg4MFx4NDRceDIyXHgwMlx4MDRceDAwJyksIGJ5dGVhcnJheShiJ1x4MDBceDA0XHgwNlx4MDZceDI0XHg0MFx4NDBceDI0XHgwNlx4MDZceDA0XHgwMCcpLCBieXRlYXJyYXkoYidceDAwXHgwNFx4MGNceDBjXHg0NFx4MjBceDIwXHg0NFx4MGNceDBjXHgwNFx4MDAnKSkKd2hpbGUgVHJ1ZToKICAgIGlmICAgIDwgYWRjNC5yZWFkX3UxNigpIDwgICA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMF0pCiAgICBlbGlmICAgIDwgYWRjNC5yZWFkX3UxNigpIDwgICA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMV0pCiAgICBlbGlmICAgIDwgYWRjNC5yZWFkX3UxNigpIDwgICA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMl0pCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +adc4土壤湿度检测并显示表情4machine.ADC.ATTN_11DBadc4biaoqing[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,0,0,1,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUELTLT xadc4 onboard_matrix.HEARTbiaoqing0LTLT xadc4 onboard_matrix.HEARTbiaoqing1LTLT xadc4 onboard_matrix.HEARTbiaoqing2s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCiMg5Zyf5aOk5rm/5bqm5qOA5rWL5bm25pi+56S66KGo5oOFCmFkYzQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbig0KSkKYWRjNC5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCmJpYW9xaW5nPSAoYnl0ZWFycmF5KGInXHgwMFx4MDRceDAyXHgyMlx4NDRceDgwXHg4MFx4NDRceDIyXHgwMlx4MDRceDAwJyksIGJ5dGVhcnJheShiJ1x4MDBceDA0XHgwNlx4MDZceDI0XHg0MFx4NDBceDI0XHgwNlx4MDZceDA0XHgwMCcpLCBieXRlYXJyYXkoYidceDAwXHgwNFx4MGNceDBjXHg0NFx4MjBceDIwXHg0NFx4MGNceDBjXHgwNFx4MDAnKSkKd2hpbGUgVHJ1ZToKICAgIGlmICAgIDwgYWRjNC5yZWFkX3UxNigpIDwgICA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMF0pCiAgICBlbGlmICAgIDwgYWRjNC5yZWFkX3UxNigpIDwgICA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMV0pCiAgICBlbGlmICAgIDwgYWRjNC5yZWFkX3UxNigpIDwgICA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMl0pCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix index b8ea46bc..3423a3c5 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻MixlyxMINUS1抬起时刻1按下时刻{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo= \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻MixlyxMINUS1抬起时刻1按下时刻{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHByaW50KChfRTZfOEFfQUNfRThfQjVfQjdfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84QV9BQ19FOF9CNV9CN19FNl85N19CNl9FNV84OF9CQiAtIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQikpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix index fde82a4c..969c8881 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix @@ -1 +1 @@ -灯数按下时刻0抬起时刻0间隔时间0WHILETRUEB1key按下时刻mstrueB1key抬起时刻ms间隔时间MINUS1抬起时刻1按下时刻Mixly间隔时间FalseMixlyxQUYU1间隔时间1000min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKF9FN184MV9BRl9FNl85NV9CMCk6CiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIF9FN184MV9BRl9FNl85NV9CMCwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMjApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICAgICAgcHJpbnQoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cigoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ICUgMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQVJHQihtaW4oX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0IC8vIDEwMCwgMikpCg== \ No newline at end of file +灯数按下时刻0抬起时刻0间隔时间0WHILETRUEB1key按下时刻mstrueB1key抬起时刻ms间隔时间MINUS1抬起时刻1按下时刻Mixly间隔时间FalseMixlyxQUYU1间隔时间1000min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKF9FN184MV9BRl9FNl85NV9CMCk6CiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIF9FN184MV9BRl9FNl85NV9CMCwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMjApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhBX0FDX0U4X0I1X0I3X0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICAgICAgcHJpbnQoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cigoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ICUgMTAwKSksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQVJHQihtaW4oX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0IC8vIDEwMCwgMikpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix index a068c948..47f5b45b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix @@ -1 +1 @@ -灯数亮屏时刻0按下时刻0间隔时间0WHILETRUEs1float12onboard_matrix.HEART亮屏时刻mstrueB1key按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICBwcmludChfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRTZfOThfQkVfRTdfQTRfQkFSR0IobWluKF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCAvLyAxMDAsIDIpKQo= \ No newline at end of file +灯数亮屏时刻0按下时刻0间隔时间0WHILETRUEs1float12onboard_matrix.HEART亮屏时刻mstrueB1key按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCIC0gX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCCiAgICBwcmludChfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBfRTZfOThfQkVfRTdfQTRfQkFSR0IobWluKF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCAvLyAxMDAsIDIpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix index 1a718ab3..1df90fff 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix @@ -1 +1 @@ -灯数亮屏时刻0按下时刻0间隔时间0显示图像0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART亮屏时刻mstrueORB1keyA1keyORANDB1keyEQ显示图像1ANDA1keyEQ显示图像0按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002onboard_matrix.NO显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkgb3IgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQgogICAgICAgIHByaW50KF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKG1pbihfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgLy8gMTAwLCAyKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file +灯数亮屏时刻0按下时刻0间隔时间0显示图像0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART亮屏时刻mstrueORB1keyA1keyORANDB1keyEQ显示图像1ANDA1keyEQ显示图像0按下时刻ms间隔时间MINUS1按下时刻1亮屏时刻Mixly间隔时间FalseMixlyx间隔时间0min1ZHENGCHU1间隔时间1002onboard_matrix.NO显示RGB0000,1,2,305灯数1i0i0020{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFSR0IoX0U3XzgxX0FGX0U2Xzk1X0IwKToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgX0U3XzgxX0FGX0U2Xzk1X0IwLCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U0X0JBX0FFX0U1X0IxXzhGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkgb3IgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCk6CiAgICAgICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCA9IF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQgogICAgICAgIHByaW50KF9FOV85N19CNF9FOV85QV85NF9FNl85N19CNl9FOV85N19CNCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U5Xzk3X0I0X0U5XzlBXzk0X0U2Xzk3X0I2X0U5Xzk3X0I0KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBUkdCKG1pbihfRTlfOTdfQjRfRTlfOUFfOTRfRTZfOTdfQjZfRTlfOTdfQjQgLy8gMTAwLCAyKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix index 86c4a2ac..fbeffd35 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSk6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gcmFuZG9tLnJhbmRpbnQoMCwgMSkKICAgIGlmIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9PSAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSk6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix index bfbfeec4..902fa70c 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix @@ -1 +1 @@ -亮屏时刻0按下时刻0显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1key按下时刻msMixlyMINUS1按下时刻1亮屏时刻ANDORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1LTMINUS1按下时刻1亮屏时刻500ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgcHJpbnQoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQikpCiAgICBpZiAoKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkpIGFuZCBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPCA1MDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +亮屏时刻0按下时刻0显示图像0游戏得分0WHILETRUEs1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1key按下时刻msMixlyMINUS1按下时刻1亮屏时刻ANDORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1LTMINUS1按下时刻1亮屏时刻500ADD游戏得分1988100MINUS游戏得分1131100FalseMixlyx游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCl9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgcHJpbnQoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQikpCiAgICBpZiAoKG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMCkgb3IgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfOUJfQkVfRTVfODNfOEYgPT0gMSkpIGFuZCBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTVfQjFfOEZfRTZfOTdfQjZfRTVfODhfQkIgPCA1MDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84NiAtPSAxCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FNl9COF9COF9FNl84OF84Rl9FNV9CRV85N19FNV84OF84Niksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix index 90ef1e24..ed5c8b8e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0B2key游戏开始TRUE0100游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDEwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCg== \ No newline at end of file +显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0B2key游戏开始TRUE0100游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDEwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix index 7f3745d0..42b579f2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix @@ -1 +1 @@ -显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0GT游戏得分10游戏开始FALSEB2key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0200游戏得分0游戏开始FALSEFalse0000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMjAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ+i1oicsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPiAxMDoKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICAgICAgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIF9FOF9BRV9CRV9FN19CRF9BRV9FNl9COF9COF9FNl84OF84Rl9FN184QV9CNl9FNl84MF84MSgpCg== \ No newline at end of file +显示图像0游戏得分0游戏开始FALSEWHILETRUE游戏开始s1float12显示图像int01EQ显示图像0onboard_matrix.HEARTonboard_matrix.HEART_SMALL亮屏时刻mstrueORB1keyA1keyORANDA1keyEQ显示图像0ANDB1keyEQ显示图像1ADD游戏得分1988100MINUS游戏得分1131100FalseMixly游戏得分0GT游戏得分10游戏开始FALSEB2key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0200游戏得分0游戏开始FALSEFalse0000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMjAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICBlbHNlOgogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ+i1oicsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID0gMApfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV85Ql9CRV9FNV84M184RiA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICAgICAgaWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDA6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgICAgIF9FNF9CQV9BRV9FNV9CMV84Rl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDApIG9yIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1XzlCX0JFX0U1XzgzXzhGID09IDEpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgKz0gMQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JFXzk3X0U1Xzg4Xzg2IC09IDEKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cihfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYpLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICBpZiBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkVfOTdfRTVfODhfODYgPiAxMDoKICAgICAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICAgICAgX0U4X0FFX0JFX0U3X0JEX0FFX0U2X0I4X0I4X0U2Xzg4XzhGX0U3XzhBX0I2X0U2XzgwXzgxKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfQjhfQjhfRTZfODhfOEZfRTVfQkNfODBfRTVfQTdfOEIgPSBUcnVlCiAgICAgICAgICAgIF9FOF9BRV9CRV9FN19CRF9BRV9FNl9COF9COF9FNl84OF84Rl9FN184QV9CNl9FNl84MF84MSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix index 4ebb7b5d..7bf803d6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5B1key202020B2key000{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file +WHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5B1key202020B2key000{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVF9TTUFMTCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/17-2-复杂控制-单键中断.mix index 3338bad1..0527f84b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/17-2-复杂控制-单键中断.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/17-2-复杂控制-单键中断.mix @@ -1 +1 @@ -x是否亮灯FALSEmachine.Pin.IRQ_RISINGB2keyattachInterrupt_funcWHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +x是否亮灯FALSEmachine.Pin.IRQ_RISINGB2keyattachInterrupt_funcWHILETRUEonboard_matrix.HEARTs0.5onboard_matrix.HEART_SMALLs0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBnbG9iYWwgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBub3QgX0U2Xzk4X0FGX0U1XzkwX0E2X0U0X0JBX0FFX0U3XzgxX0FGCiAgICBpZiBfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUY6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgpfRTZfOThfQUZfRTVfOTBfQTZfRTRfQkFfQUVfRTdfODFfQUYgPSBGYWxzZQptaXhnb19taW5pLkIya2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/18-1-复杂控制-定时计时.mix index 9e981601..72bcc4b9 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/18-1-复杂控制-定时计时.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/18-1-复杂控制-定时计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1FalseMixlyx计时0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg== \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1FalseMixlyx计时0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U4X0FFX0ExX0U2Xzk3X0I2KSxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/18-2-复杂控制-循环计时.mix index 794124db..0cf89f35 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/18-2-复杂控制-循环计时.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/18-2-复杂控制-循环计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0FalseMixlyx计时0tim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCBfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgX0U4X0FFX0ExX0U2Xzk3X0I2ID0gMAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FOF9BRV9BMV9FNl85N19CNiksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0FalseMixlyx计时0tim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOF9BRV9BMV9FNl85N19CNgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184QgogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FOF9BRV9BMV9FNl85N19CNiArPSAxCgoKCl9FNV9CQ184MF9FNV9BN184QiA9IEZhbHNlCl9FOF9BRV9BMV9FNl85N19CNiA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEIgPSBub3QgX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCBfRTVfQkNfODBfRTVfQTdfOEI6CiAgICAgICAgX0U4X0FFX0ExX0U2Xzk3X0I2ID0gMAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKF9FOF9BRV9BMV9FNl85N19CNiksc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/19-1-复杂控制-多线程.mix index 120c84e7..0d0778bd 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/19-1-复杂控制-多线程.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/19-1-复杂控制-多线程.mix @@ -1 +1 @@ -音乐FALSEtestThreadWHILETRUEB1key音乐音乐onboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +音乐FALSEtestThreadWHILETRUEB1key音乐音乐onboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlQpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUX1NNQUxMKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix index 9c73c984..dc684487 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUMattachInterrupt_func音乐音乐音乐{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIF9FOV85Rl9CM19FNF9COV85MAogICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1testThread音乐WHILETRUE音乐onboard_music.DADADADUMattachInterrupt_func音乐音乐音乐{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIF9FOV85Rl9CM19FNF9COV85MAogICAgX0U5XzlGX0IzX0U0X0I5XzkwID0gbm90IF9FOV85Rl9CM19FNF9COV85MAoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/20-1-复杂控制-异常.mix index ee6f5756..b2f2560d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/20-1-复杂控制-异常.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/20-1-复杂控制-异常.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量attachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYK \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量attachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/20-2-复杂控制-异常处理.mix index e93326dc..34beee4b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/20-2-复杂控制-异常处理.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/20-2-复杂控制-异常处理.mix @@ -1 +1 @@ -x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量Exception as eeattachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHRyeToKICAgICAgICBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYgPSBub3QgX0U5Xzk0Xzk5X0U4X0FGX0FGX0U1XzhGXzk4X0U5Xzg3XzhGCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcGFzcwo= \ No newline at end of file +x音乐FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEonboard_matrix.HEARTs0.1onboard_matrix.HEART_SMALLs0.1错误变量错误变量Exception as eeattachInterrupt_func音乐音乐音乐音乐testThread音乐WHILETRUE音乐onboard_music.DADADADUM{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IF90aHJlYWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIF9FOV85Rl9CM19FNF9COV85MCA9IG5vdCBfRTlfOUZfQjNfRTRfQjlfOTAKICAgIGlmIG5vdCBfRTlfOUZfQjNfRTRfQjlfOTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwgX0U5XzlGX0IzX0U0X0I5XzkwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIF9FOV85Rl9CM19FNF9COV85MDoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQoKCgpfRTlfOUZfQjNfRTRfQjlfOTAgPSBGYWxzZQptaXhnb19taW5pLkIxa2V5LmlycShoYW5kbGVyID0gYXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXIgPSBtYWNoaW5lLlBpbi5JUlFfUklTSU5HKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IRUFSVCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEVBUlRfU01BTEwpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHRyeToKICAgICAgICBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYgPSBub3QgX0U5Xzk0Xzk5X0U4X0FGX0FGX0U1XzhGXzk4X0U5Xzg3XzhGCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix index ab0eb146..688e97eb 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/21-1-射频识别-读取测试(MIG2).mix @@ -1 +1 @@ -WHILETRUETrueMixly659100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCkgPT0gVHJ1ZToKICAgICAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo=gICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUETrueMixly659100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCkgPT0gVHJ1ZToKICAgICAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo=gICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix index 3de9661d..564692ba 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/21-2-射频识别-读取卡号(MIG2).mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgIHRpbWUuc2xlZXAoMSkKgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgIHRpbWUuc2xlZXAoMSkKgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix index 32e1782e..58ade873 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/22-1-射频识别-写卡测试(MIG2).mix @@ -1 +1 @@ -WHILETRUEB1keyidNEQxidNone659100Mixly0B2keyTrue0米思齐onboard_matrix.YES988100onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQoZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImNvbnRlbnQiKSkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZiBleHRfcmZpZC5zY2FuX2NhcmQoKSA9PSBUcnVlOgogICAgICAgICAgICBpZiBleHRfcmZpZC53cml0ZV9jYXJkKCfnsbPmgJ3pvZAnLCAwKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQo=3JmaWQucmVhZF9jYXJkKDApKVsxXSkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZiBleHRfcmZpZC5zY2FuX2NhcmQoKT09VHJ1ZToKICAgICAgICAgICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZCgn57Gz5oCd6b2QJywwKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQo= \ No newline at end of file +WHILETRUEB1keyidNEQxidNone659100Mixly0B2keyTrue0米思齐onboard_matrix.YES988100onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQoZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImNvbnRlbnQiKSkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZiBleHRfcmZpZC5zY2FuX2NhcmQoKSA9PSBUcnVlOgogICAgICAgICAgICBpZiBleHRfcmZpZC53cml0ZV9jYXJkKCfnsbPmgJ3pvZAnLCAwKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQo=3JmaWQucmVhZF9jYXJkKDApKVsxXSkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZiBleHRfcmZpZC5zY2FuX2NhcmQoKT09VHJ1ZToKICAgICAgICAgICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZCgn57Gz5oCd6b2QJywwKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix index 7c1fa45c..8cdb4561 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2-射频识别-持续写卡(MIG2).mix @@ -1 +1 @@ -mytupMixlyMixIOMixGo序号0写模式FALSE上一卡号0WHILETRUEB1key写模式写模式255MULTIPLY2551写模式00写模式idNEQxidNoneNEQid上一卡号9881000Mixlymytup0序号onboard_matrix.YESADDa序号1上一卡号idGTE序号mytup写模式FALSE000onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKbXl0dXA9ICgnTWl4bHknLCAnTWl4SU8nLCAnTWl4R28nKQrluo/lj7cgPSAwCuWGmeaooeW8jyA9IEZhbHNlCuS4iuS4gOWNoeWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhpnmqKHlvI8gPSBub3Qg5YaZ5qih5byPCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoKDI1NSAqIOWGmeaooeW8jyksIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOWGmeaooeW8jzoKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgaWYgaWQyICE9IOS4iuS4gOWNoeWPtzoKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQobXl0dXBb5bqP5Y+3XSwgMCk6CiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguWUVTKQogICAgICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgICAgICAgICAgICAg5LiK5LiA5Y2h5Y+3ID0gaWQyCiAgICAgICAgICAgICAgICAgICAgaWYg5bqP5Y+3ID49IGxlbihteXR1cCk6CiAgICAgICAgICAgICAgICAgICAgICAgIOWGmeaooeW8jyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkKVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkK \ No newline at end of file +mytupMixlyMixIOMixGo序号0写模式FALSE上一卡号0WHILETRUEB1key写模式写模式255MULTIPLY2551写模式00写模式idNEQxidNoneNEQid上一卡号9881000Mixlymytup0序号onboard_matrix.YESADDa序号1上一卡号idGTE序号mytup写模式FALSE000onboard_matrix.NO165100{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKbXl0dXA9ICgnTWl4bHknLCAnTWl4SU8nLCAnTWl4R28nKQrluo/lj7cgPSAwCuWGmeaooeW8jyA9IEZhbHNlCuS4iuS4gOWNoeWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhpnmqKHlvI8gPSBub3Qg5YaZ5qih5byPCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoKDI1NSAqIOWGmeaooeW8jyksIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOWGmeaooeW8jzoKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgaWYgaWQyICE9IOS4iuS4gOWNoeWPtzoKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQobXl0dXBb5bqP5Y+3XSwgMCk6CiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguWUVTKQogICAgICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgICAgICAgICAgICAg5LiK5LiA5Y2h5Y+3ID0gaWQyCiAgICAgICAgICAgICAgICAgICAgaWYg5bqP5Y+3ID49IGxlbihteXR1cCk6CiAgICAgICAgICAgICAgICAgICAgICAgIOWGmeaooeW8jyA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkKVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix index a4915a3b..6a4964a8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2射频识别-模拟公交卡.mix @@ -1,2 +1,2 @@ -WHILETRUE初始化卡片 +WHILETRUE初始化卡片 充值10元A1keyidNEQxidNone659100Mixly010onboard_matrix.HEART10s1消费:扣款2元A2keyidNEQxidNone784100ms100784100yuemytupx01yueintyueMINUSyue2MixlyyueMixly010xyueonboard_matrix.HEARTxyues1充值:每次充值10元B1keyidNEQxidNone659300yuemytupx01yueintyueADDyue10MixlyyueMixly010xyueonboard_matrix.HEARTxyues1查余额B2keyidNEQxidNone659100yuemytupx01Mixlyyueonboard_matrix.HEARTxyues1{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICAjIOWIneWni+WMluWNoeeJhwogICAgIyDlhYXlgLwxMOWFgwogICAgIyDmtojotLnvvJrmiaPmrL4y5YWDCiAgICAjIOWFheWAvO+8muavj+asoeWFheWAvDEw5YWDCiAgICAjIOafpeS9meminQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICAgICAgaWYgc3RyKGlkMikgIT0gJ05vbmUnOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLndyaXRlX2NhcmQoJzEwJywwKSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJzEwJykKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICAgICAgeXVlID0gdHVwbGUoZXh0X3JmaWQucmVhZF9jYXJkKDApKVsxXQogICAgICAgICAgICB5dWUgPSBpbnQoeXVlKQogICAgICAgICAgICB5dWUgLT0gMgogICAgICAgICAgICBwcmludCh5dWUpCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKHl1ZSksMCkpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cih5dWUpKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMzAwKQogICAgICAgICAgICB5dWUgPSB0dXBsZShleHRfcmZpZC5yZWFkX2NhcmQoMCkpWzFdCiAgICAgICAgICAgIHl1ZSA9IGludCh5dWUpCiAgICAgICAgICAgIHl1ZSArPSAxMAogICAgICAgICAgICBwcmludCh5dWUpCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKHl1ZSksMCkpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cih5dWUpKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICBlbGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICB5dWUgPSB0dXBsZShleHRfcmZpZC5yZWFkX2NhcmQoMCkpWzFdCiAgICAgICAgICAgIHByaW50KHl1ZSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKHl1ZSkpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2 蓝牙键鼠-蓝牙翻页.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2 蓝牙键鼠-蓝牙翻页.mix index b3582fdd..e93cf4b6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2 蓝牙键鼠-蓝牙翻页.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2 蓝牙键鼠-蓝牙翻页.mix @@ -1 +1 @@ -ble_keyboard_mousetruewaitting784150659150WHILETRUEA1keyTrue0x000x52A3keyTrue0x000x4Ems10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgpibGVfaGlkID0gSElEKCdibGVfa2V5Ym9hcmRfbW91c2UnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwweDUyLFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLDB4NEUsVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file +ble_keyboard_mousetruewaitting784150659150WHILETRUEA1keyTrue0x000x52A3keyTrue0x000x4Ems10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgpibGVfaGlkID0gSElEKCdibGVfa2V5Ym9hcmRfbW91c2UnKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCd3YWl0dGluZycpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwweDUyLFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLDB4NEUsVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标-简易版.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标-简易版.mix index 004916b5..6275552b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标-简易版.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标-简易版.mix @@ -1 +1 @@ -ble_MouseWHILETRUEA1keyFalse0x00-500A3keyFalse0x00500A2keyFalse0x000-50A4keyFalse0x00050B1keyTrue0x01000B2keyTrue0x02000ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCmJsZV9tb3VzZT1Nb3VzZSgnYmxlX01vdXNlJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgoLTUpLCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICg1LCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTJrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgwLCAoLTUpKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgwLCA1KSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAxLCAoMCwgMCksIDAsIFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAyLCAoMCwgMCksIDAsIFRydWUpCiAgICB0aW1lLnNsZWVwX21zKDEwKQo=oth_x
1MULTIPLY1MINUS11ALPHA1x
smooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000inty0intsmooth_yMULTIPLY1x-10ms10
{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsICgwLCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAyLCAoMCwgMCksIDAsIFRydWUpCiAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAwLCAoaW50KHkpLCBpbnQoKHggKiAtMSkpKSwgMCwgVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg==GltZS5zbGVlcF9tcygxMCkK \ No newline at end of file +ble_MouseWHILETRUEA1keyFalse0x00-500A3keyFalse0x00500A2keyFalse0x000-50A4keyFalse0x00050B1keyTrue0x01000B2keyTrue0x02000ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCmJsZV9tb3VzZT1Nb3VzZSgnYmxlX01vdXNlJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgoLTUpLCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICg1LCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTJrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgwLCAoLTUpKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgwLCA1KSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAxLCAoMCwgMCksIDAsIFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAyLCAoMCwgMCksIDAsIFRydWUpCiAgICB0aW1lLnNsZWVwX21zKDEwKQo=oth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000inty0intsmooth_yMULTIPLY1x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsICgwLCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAyLCAoMCwgMCksIDAsIFRydWUpCiAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAwLCAoaW50KHkpLCBpbnQoKHggKiAtMSkpKSwgMCwgVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg==GltZS5zbGVlcF9tcygxMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix index e351f0d9..da41a687 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标.mix @@ -1 +1 @@ -ble_MouseSENSITIVITY灵敏度30MOVE_THRESHOLD移动阈值0.05smooth_x平滑处理的历史数据0smooth_y平滑处理的历史数据0ALPHA指数平滑因子(0 < ALPHA < 1)0.8WHILETRUEraw_x[0]raw_y[1]忽略小幅移动LTfabs0.998raw_xMOVE_THRESHOLDraw_x0忽略小幅移动LTfabs0.998raw_yMOVE_THRESHOLDraw_y0xintxMULTIPLY1raw_x1SENSITIVITYyintxMULTIPLY1raw_y1SENSITIVITYsmooth_x平滑处理ADD1MULTIPLY1ALPHA1smooth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000intsmooth_y0intsmooth_yMULTIPLY1smooth_x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file +ble_MouseSENSITIVITY灵敏度30MOVE_THRESHOLD移动阈值0.05smooth_x平滑处理的历史数据0smooth_y平滑处理的历史数据0ALPHA指数平滑因子(0 < ALPHA < 1)0.8WHILETRUEraw_x[0]raw_y[1]忽略小幅移动LTfabs0.998raw_xMOVE_THRESHOLDraw_x0忽略小幅移动LTfabs0.998raw_yMOVE_THRESHOLDraw_y0xintxMULTIPLY1raw_x1SENSITIVITYyintxMULTIPLY1raw_y1SENSITIVITYsmooth_x平滑处理ADD1MULTIPLY1ALPHA1smooth_x1MULTIPLY1MINUS11ALPHA1xsmooth_y平滑处理ADD1MULTIPLY1ALPHA1smooth_y1MULTIPLY1MINUS11ALPHA1yB2keyFalse0x01000B1keyTrue0x02000True0x000intsmooth_y0intsmooth_yMULTIPLY1smooth_x-10ms10{}ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsKDAsMCksMCxGYWxzZSkKICAgIGVsaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDIsKDAsMCksMCxUcnVlKQogICAgYmxlX21vdXNlLm5vdGlmeV9oaWQoMHgwMCwoaW50KHNtb290aF95KSxpbnQoKHNtb290aF94ICogLTEpKSksMCxUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix index b961aa2c..60a18b14 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线键盘.mix @@ -1 +1 @@ -ble_keyboard_mousetruewaitting698150523150WHILETRUEGT100True0x080x07ms300ms100{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ3dhaXR0aW5nJykKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK \ No newline at end of file +ble_keyboard_mousetruewaitting698150523150WHILETRUEGT100True0x080x07ms300ms100{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoJ3dhaXR0aW5nJykKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg1MjMsIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwOCwweDA3LFRydWUpCiAgICAgICAgdGltZS5zbGVlcF9tcygzMDApCiAgICB0aW1lLnNsZWVwX21zKDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/24-1-无线广播-通讯测试.mix index a472e4af..60ab1d7e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/24-1-无线广播-通讯测试.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/24-1-无线广播-通讯测试.mix @@ -1 +1 @@ -10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrue<-0RIGHTTrue->0{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file +10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrue<-0RIGHTTrue->0{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQpoYW5kbGVfbGlzdD1bXQppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgcHJpbnQoRVNQTm93X3JhZGlvX21zZykKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fTEVGVChtYWMsRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPC0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19MRUZUIGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2X19MRUZUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJy0+JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdl9fUklHSFQgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1JJR0hUKQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/24-2-无线广播-防丢检测.mix index f13c4dea..758f8469 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/24-2-无线广播-防丢检测.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/24-2-无线广播-防丢检测.mix @@ -1 +1 @@ -lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000onboard_matrix.NOonboard_music.DADADADUMlastmsgtimeonboard_matrix.YESlastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000onboard_matrix.NOonboard_music.DADADADUMlastmsgtimeonboard_matrix.YESlastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpoYW5kbGVfbGlzdD1bXQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICBsYXN0bXNndGltZSA9IHRpbWUudGlja3NfbXMoKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2IGluIGhhbmRsZV9saXN0OgogICAgaGFuZGxlX2xpc3QuYXBwZW5kKEVTUE5vd19yYWRpb19yZWN2KQpFU1BOb3dfcmFkaW8ucmVjdl9jYihoYW5kbGVfbGlzdCkKCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-发送端.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-发送端.mix index 82a99d2d..615b4eda 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-发送端.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-发送端.mix @@ -1 +1 @@ -20my_now1WHILETRUEB1keymy_nowFFFFFFFFFFFF1{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19taW5pCgoKbXlfbm93PXJhZGlvLkVTUE5vdyhjaGFubmVsPTEsIHR4cG93ZXI9MjApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXlfbm93LnNlbmQoJ0ZGRkZGRkZGRkZGRicsICcxJykK \ No newline at end of file +20my_now1WHILETRUEB1keymy_nowFFFFFFFFFFFF1{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19taW5pCgoKbXlfbm93PXJhZGlvLkVTUE5vdyhjaGFubmVsPTEsIHR4cG93ZXI9MjApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXlfbm93LnNlbmQoJ0ZGRkZGRkZGRkZGRicsICcxJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-接收端.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-接收端.mix index 867765a3..f2319d63 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-接收端.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-ESPNow通信-接收端.mix @@ -1 +1 @@ -macmsg20my_now1my_nowcbMixlymy_nowcbEQmsg11-1{}aW1wb3J0IHJhZGlvCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpkZWYgY2IobWFjLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQoKCgpteV9ub3c9cmFkaW8uRVNQTm93KGNoYW5uZWw9MSwgdHhwb3dlcj0yMCkKbXlfbm93LnJlY3ZfY2IoY2IpCnByaW50KG15X25vdy5tYWMpCg== \ No newline at end of file +macmsg20my_now1my_nowcbMixlymy_nowcbEQmsg11-1{}aW1wb3J0IHJhZGlvCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpkZWYgY2IobWFjLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQoKCgpteV9ub3c9cmFkaW8uRVNQTm93KGNoYW5uZWw9MSwgdHhwb3dlcj0yMCkKbXlfbm93LnJlY3ZfY2IoY2IpCnByaW50KG15X25vdy5tYWMpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix index bd1d9e06..04a52ffd 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5光照msgMixlyx{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo= \ No newline at end of file +fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5光照msgMixlyx{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCg1KQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihvbmJvYXJkX2Fscy5hbHNfdmlzKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix index 31a92a25..973d021f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5环境msg"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file +fuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0WHILETRUEs5环境msg"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLlo7Dpn7MiOm9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSwgIumch+WKqCI6b25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix index 981da780..22d8b285 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix @@ -1 +1 @@ -timfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0timPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi5aOw6Z+zIjpvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +timfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0timPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"strength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi5aOw6Z+zIjpvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix index 97fb138e..541f4c8d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix @@ -1 +1 @@ -tim震动strength光照声音fuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0timPERIODICtim5000tim_callback震动strengthWHILETRUE震动strength光照声音s0.1GT震动5危险大震动s1tim_callback震动光照声音环境大震动"光照""声音""震动"光照声音震动{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKaW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOV85Q184N19FNV84QV9BOAogICAgZ2xvYmFsIF9FNV84NV84OV9FN184NV9BNwogICAgZ2xvYmFsIF9FNV9BM19CMF9FOV85Rl9CMwogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQoKCgpfRTlfOUNfODdfRTVfOEFfQTggPSBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpCl9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQp3aGlsZSBUcnVlOgogICAgX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQogICAgX0U1Xzg1Xzg5X0U3Xzg1X0E3ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgaWYgX0U5XzlDXzg3X0U1XzhBX0E4ID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +tim震动strength光照声音fuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0timPERIODICtim5000tim_callback震动strengthWHILETRUE震动strength光照声音s0.1GT震动5危险大震动s1tim_callback震动光照声音环境大震动"光照""声音""震动"光照声音震动{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKaW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIF9FOV85Q184N19FNV84QV9BOAogICAgZ2xvYmFsIF9FNV84NV84OV9FN184NV9BNwogICAgZ2xvYmFsIF9FNV9BM19CMF9FOV85Rl9CMwogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQoKCgpfRTlfOUNfODdfRTVfOEFfQTggPSBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpCl9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQp3aGlsZSBUcnVlOgogICAgX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQogICAgX0U1Xzg1Xzg5X0U3Xzg1X0E3ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgaWYgX0U5XzlDXzg3X0U1XzhBX0E4ID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix index 87ca7b06..758c3381 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0亮屏methodWHILETRUEmethodEQmsg1onboard_matrix.HEARTEQmsg0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cn4OG7811OFalseMO0亮屏methodWHILETRUEmethodEQmsg1onboard_matrix.HEARTEQmsg0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7lsY8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6ruWxjycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix index 7616b05e..141e45ca 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix @@ -1 +1 @@ -clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5ID0gbXNnCgoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9ICdNaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLrlhoXlrrknLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuuWGheWuuScpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COQogICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5ID0gbXNnCgoKCl9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9ICdNaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfbWF0cml4LnNob3dzKCdXTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLrlhoXlrrknLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuuWGheWuuScpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/32-1-物联网-多主题数据订.mix index 9d7a24be..ce855286 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-1-物联网-多主题数据订.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/32-1-物联网-多主题数据订.mix @@ -1 +1 @@ -clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容method亮灯method2timPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod2EQmsg1252525EQmsg0000method显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG1zZwoKCgpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65YaF5a65JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrlhoXlrrknKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6rueBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtim显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0显示内容method亮灯method2timPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethod2EQmsg1252525EQmsg0000method显示内容显示内容msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG1zZwoKCgpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65YaF5a65JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrlhoXlrrknKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+S6rueBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix index 889aa76a..0db2a217 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix @@ -1 +1 @@ -clienttopicmsgtimmydict显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0json消息methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBqc29uCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKbXlkaWN0PSB7fQpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnanNvbua2iOaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnanNvbua2iOaBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file +clienttopicmsgtimmydict显示内容Mixlyfuhua31234567890TrueWO0mixio.mixly.cn4OG7811OTrueMO0json消息methodtimPERIODICtim500tim_callbackWHILETRUEMixly显示内容tim_callbackmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBqc29uCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwgX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNV84Nl84NV9FNV9BRV9COSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKbXlkaWN0PSB7fQpfRTZfOThfQkVfRTdfQTRfQkFfRTVfODZfODVfRTVfQUVfQjkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKCdNTycsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnanNvbua2iOaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnanNvbua2iOaBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2Xzk4X0JFX0U3X0E0X0JBX0U1Xzg2Xzg1X0U1X0FFX0I5KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-3-物联网-心知天气-天气显示屏.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/32-3-物联网-心知天气-天气显示屏.mix index 833c125f..f67fee74 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-3-物联网-心知天气-天气显示屏.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/32-3-物联网-心知天气-天气显示屏.mix @@ -1,2 +1,2 @@ -timwifinamewifipasswordWeather_nowSVa3S0UKHIy9dDArs北京timPERIODICtim2000000tim_callbacktim_callbackmsweather_codeintxcode天气现象代码说明 +timwifinamewifipasswordWeather_nowSVa3S0UKHIy9dDArs北京timPERIODICtim2000000tim_callbacktim_callbackmsweather_codeintxcode天气现象代码说明 https://docs.seniverse.com/api/start/code.htmlweather_codeLTweather_code4onboard_matrix.HEART[[0,0,0,0,1,1,1,1,0,0,0,0],[0,0,0,1,1,1,1,1,1,0,0,0],[0,0,1,1,1,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,1,1,1,0,0],[0,0,1,1,1,1,1,1,1,1,0,0],[0,0,0,1,1,1,1,1,1,0,0,0],[0,0,0,0,1,1,1,1,0,0,0,0]]EQweather_code4onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,1,1,0,0],[0,0,0,1,0,0,0,1,1,1,1,0],[0,0,1,1,1,0,1,1,1,1,1,1],[0,1,1,1,1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1],[0,0,0,0,0,0,0,0,0,0,0,0]]LTLT4xweather_code9onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,1,0],[0,0,0,1,0,0,0,1,0,1,1,0],[0,0,1,1,1,0,1,1,0,0,0,0],[0,1,1,1,1,1,1,1,1,0,0,0],[0,1,1,1,1,1,1,1,1,1,1,0],[1,1,1,1,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0]]EQweather_code9onboard_matrix.HEART[[1,0,0,0,0,0,0,0,0,0,0,1],[1,1,0,1,0,0,0,0,1,1,1,1],[1,1,1,1,1,0,0,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]LTLT12xweather_code15onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,1,0,0],[0,0,1,1,1,0,0,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,1,0,0,0,0,0,0],[0,0,0,0,1,1,1,0,0,0,0,0]]LTLT14xweather_code17onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,1,0,0],[0,0,1,1,1,0,0,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,0,0,1,1,0,0,0,0,1,1,0]]LTLT16xweather_code19onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,1,0,0],[0,0,1,1,1,0,0,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1,1,1,1,1],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,0,0,1,1,0,1,1,0,0],[0,0,1,1,0,1,1,0,0,1,1,0]]{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHByaW50KHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgIyDlpKnmsJTnjrDosaHku6PnoIHor7TmmI4KICAgICMgaHR0cHM6Ly9kb2NzLnNlbml2ZXJzZS5jb20vYXBpL3N0YXJ0L2NvZGUuaHRtbAogICAgd2VhdGhlcl9jb2RlID0gaW50KFdlYXRoZXJfbm93LmFuYWx5c2lzKCJjb2RlIikpCiAgICBwcmludChzdHIod2VhdGhlcl9jb2RlKSkKICAgIGlmIHdlYXRoZXJfY29kZSA8IDQ6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgwMFx4MDBceDNjXHg3ZVx4ZmZceGZmXHhmZlx4ZmZceDdlXHgzY1x4MDBceDAwJykpCiAgICBlbGlmIHdlYXRoZXJfY29kZSA9PSA0OgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4NDBceDcwXHg3OFx4N2NceDc4XHg3MFx4NzhceDdjXHg3ZVx4N2VceDdjXHg3OCcpKQogICAgZWxpZiA0IDwgd2VhdGhlcl9jb2RlIDwgOToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDQwXHg3MFx4NzhceDdjXHg3OFx4NzBceDc4XHg3Y1x4NzBceDY2XHg2Nlx4MDAnKSkKICAgIGVsaWYgd2VhdGhlcl9jb2RlID09IDk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxZlx4MWVceDFjXHgxZVx4MWNceDE4XHgxOFx4MWNceDFlXHgxZVx4MWVceDFmJykpCiAgICBlbGlmIDEyIDwgd2VhdGhlcl9jb2RlIDwgMTU6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxMFx4MThceDFjXHgxZVx4ZGNceGQ4XHg5OFx4MWNceDFlXHgxZVx4MWNceDE4JykpCiAgICBlbGlmIDE0IDwgd2VhdGhlcl9jb2RlIDwgMTc6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxMFx4MThceDVjXHhkZVx4OWNceDE4XHgxOFx4MWNceDVlXHhkZVx4OWNceDE4JykpCiAgICBlbGlmIDE2IDwgd2VhdGhlcl9jb2RlIDwgMTk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxMFx4NThceGRjXHg5ZVx4MWNceGQ4XHhkOFx4MWNceDVlXHhkZVx4OWNceDE4JykpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ3dpZmluYW1lJywgJ3dpZmlwYXNzd29yZCcpCldlYXRoZXJfbm93LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwMDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCgppZiBGYWxzZToKICAgIHBhc3MK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/33-1-课堂互动-自由签到.mix index 08d132c4..ddecf9e6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/33-1-课堂互动-自由签到.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/33-1-课堂互动-自由签到.mix @@ -1 +1 @@ -本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUEFalseGO0B1key姓名msg本机用户Mixly本机用户FalseOK0s1FalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUEFalseGO0B1key姓名msg本机用户Mixly本机用户FalseOK0s1FalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/33-2-课堂互动-按需签到.mix index 114c28df..d8bbf5cb 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/33-2-课堂互动-按需签到.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/33-2-课堂互动-按需签到.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodFalse==0WHILETRUE开始签到B1key姓名msg本机用户开始签到FALSEMixly本机用户FalseOK0s1False==0method开始签到EQmsg1开始签到TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF9CRV9FNV84OF9CMAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etvuWIsCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562+5YiwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodFalse==0WHILETRUE开始签到B1key姓名msg本机用户开始签到FALSEMixly本机用户FalseOK0s1False==0method开始签到EQmsg1开始签到TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF9CRV9FNV84OF9CMAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etvuWIsCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562+5YiwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEX0JFX0U1Xzg4X0IwOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfQkVfRTVfODhfQjAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix index a0933d81..a1eecd55 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者False==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9IG1zZwogICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9ICcnCl9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0OgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQo= \ No newline at end of file +clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者False==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9IG1zZwogICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODUpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NSA9ICcnCl9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0OgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJywgX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnT0snLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix index 0f37d0ba..5ba2f34e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEFalse==0method2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSEFalse==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODgKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OC5hZGQobXNnKQogICAgaWYgbGVuKF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OCkgPj0gMjoKICAgICAgICBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IFRydWUKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCgoKX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3ID0gJ21peGx5JwpfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfbWF0cml4LnNob3dzKCc9PScsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NDoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCg== \ No newline at end of file +clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2False==0WHILETRUE开始抢答B1key抢答者msg本机用户FalseOK0s1开始抢答FALSEFalse==0method2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSEFalse==0method开始抢答EQmsg1开始抢答TRUEFalseGO0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODgKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQKICAgIF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OC5hZGQobXNnKQogICAgaWYgbGVuKF9FNl84QV9BMl9FN19BRF85NF9FOF84MF84NV9FOV85Ql84Nl9FNV85MF84OCkgPj0gMjoKICAgICAgICBfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NCA9IFRydWUKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKCgoKX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3ID0gJ21peGx5JwpfRTZfOEFfQTJfRTdfQURfOTRfRThfODBfODVfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTZfOEFfQTJfRTdfQURfOTQgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfbWF0cml4LnNob3dzKCc9PScsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FNl84QV9BMl9FN19BRF85NDoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ09LJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U2XzhBX0EyX0U3X0FEXzk0ID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz09JyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/35-1-课堂互动-单选答题.mix index 4502403e..6f514823 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/35-1-课堂互动-单选答题.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/35-1-课堂互动-单选答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/35-2-课堂互动-多选答题.mix index 918454ad..b5e66d4b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/35-2-课堂互动-多选答题.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/35-2-课堂互动-多选答题.mix @@ -1 +1 @@ -clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890FalseWO0mixio.mixly.cn7b6443FalseMO0开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果onboard_matrix.YESmylistx答题集合B1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUEFalseGO0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmltcG9ydCB1cmVxdWVzdHMKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKZnJvbSBtaXhweSBpbXBvcnQgYW5hbHlzZV9zaGFyZWtleQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQpfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICcnOgogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODguYWRkKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QykKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJycKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890FalseWO0mixio.mixly.cn7b6443FalseMO0开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果onboard_matrix.YESmylistx答题集合B1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUEFalseGO0{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmltcG9ydCB1cmVxdWVzdHMKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKZnJvbSBtaXhweSBpbXBvcnQgYW5hbHlzZV9zaGFyZWtleQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQoKCgpfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQpfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICcnOgogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODguYWRkKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QykKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJycKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgJycuam9pbihsaXN0KF9FN19BRF85NF9FOV9BMl85OF9FOV85Ql84Nl9FNV85MF84OCkpKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBfRTdfQURfOTRfRTlfQTJfOThfRTlfOUJfODZfRTVfOTBfODggPSBzZXQoKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/36-1-课堂互动-点名答题.mix index fd0ddd5d..1acef253 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/36-1-课堂互动-点名答题.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/36-1-课堂互动-点名答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSBfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZyA9PSBfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjc6CiAgICAgICAgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4ID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdHTycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICc9JwoKCgpfRTZfOUNfQUNfRTZfOUNfQkFfRTdfOTRfQThfRTZfODhfQjcgPSAnbWl4bHknCl9FN19BRF85NF9FOV9BMl85OF9FN19CQl85M19FNl85RV85QyA9ICc9JwpfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85ODoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQicKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdEJwogICAgICAgIGlmIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyAhPSAnPSc6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/36-2-课堂互动-多人点答.mix index e0c7575e..7b60a63f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/36-2-课堂互动-多人点答.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/36-2-课堂互动-多人点答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZy5maW5kKF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykgPiAtMToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U3X0FEXzk0X0U5X0EyXzk4X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCl9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMpCiAgICAgICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUEFalseGO0选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTgKICAgIGdsb2JhbCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMKICAgIGlmIG1zZy5maW5kKF9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNykgPiAtMToKICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBUcnVlCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCiAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCgoKCl9FNl85Q19BQ19FNl85Q19CQV9FN185NF9BOF9FNl84OF9CNyA9ICdtaXhseScKX0U3X0FEXzk0X0U5X0EyXzk4X0U3X0JCXzkzX0U2XzlFXzlDID0gJz0nCl9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgX0U1X0JDXzgwX0U1X0E3XzhCX0U3X0FEXzk0X0U5X0EyXzk4OgogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FOV84MF84OV9FNl84Ql9BOV9FN19CQl85M19FNl85RV85QyA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMgPSAnQycKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDID0gJ0QnCiAgICAgICAgaWYgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCBfRTlfODBfODlfRTZfOEJfQTlfRTdfQkJfOTNfRTZfOUVfOUMpCiAgICAgICAgICAgIF9FNV9CQ184MF9FNV9BN184Ql9FN19BRF85NF9FOV9BMl85OCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/39-1-文件操作-录音采集.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/39-1-文件操作-录音采集.mix index d9730868..3a868045 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/39-1-文件操作-录音采集.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/39-1-文件操作-录音采集.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/39-2-文件操作-录音重现.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/39-2-文件操作-录音重现.mix index c07f01eb..1d65f972 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/39-2-文件操作-录音重现.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/39-2-文件操作-录音重现.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10B2key21r/test.txtf0,1,2,301001xsreadlinefsdintxs0,1,2,375intx50d0300070-1i110iONshift_left1s0.05fException as ee20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgICAgIGQgPSBpbnQocykKICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg3LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDMwMDAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KDExKSwgaW50KGkpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,301001xd0,1,2,375intx50d0300070-1i110iONshift_left1MixlyxintxdfMixly10ff10B2key21r/test.txtf0,1,2,301001xsreadlinefsdintxs0,1,2,375intx50d0300070-1i110iONshift_left1s0.05fException as ee20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQogICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgIGQgPSBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNywgaW50KChtYXRoX21hcChkLCAwLCAzMDAwLCA3LCAwKSkpLCAtMSk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoMTEpLCBpbnQoaSksIDEpCiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hpZnRfbGVmdCgxKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICB0cnk6CiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgICAgIGQgPSBpbnQocykKICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg3LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDMwMDAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KDExKSwgaW50KGkpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/40-1-文件操作-震动采集.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/40-1-文件操作-震动采集.mix index 5b824539..48479f08 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/40-1-文件操作-震动采集.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/40-1-文件操作-震动采集.mix @@ -1 +1 @@ -MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/40-2-文件操作-震动重现.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/40-2-文件操作-震动重现.mix index 62b41963..26caf3b6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/40-2-文件操作-震动重现.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/40-2-文件操作-震动重现.mix @@ -1 +1 @@ -MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10B2key21r/acc.txtf0,1,2,301001xsreadlinefMixlysms50fException as ee20{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHByaW50KGUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file +MixlyWHILETRUEB1key11w/acc.txtf0,1,2,301001xd{},{},{}[0][1][2]0,1,2,375intx50strength01070-1i110iONshift_left1MixlydfMixly10ff10B2key21r/acc.txtf0,1,2,301001xsreadlinefMixlysms50fException as ee20{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKcHJpbnQob3MubGlzdGRpcigpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAndycpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgICAgICAgICAgZCA9ICd7fSx7fSx7fScuZm9ybWF0KG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdLCBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSwgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDcsIGludCgobWF0aF9tYXAob25ib2FyZF9hY2Muc3RyZW5ndGgoKSwgMCwgMTAsIDcsIDApKSksIC0xKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludChpKSwgMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICAgICAgICAgIGYud3JpdGUoZCkKICAgICAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIGYuY2xvc2UoKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBmID0gb3BlbignL2FjYy50eHQnLCAncicpCiAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICAgICAgICAgICAgICBzID0gZi5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHByaW50KGUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-1-MixGoAI图像识别-人脸识别-返回ID.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-1-MixGoAI图像识别-人脸识别-返回ID.mix index baa30460..98eab913 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-1-MixGoAI图像识别-人脸识别-返回ID.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-1-MixGoAI图像识别-人脸识别-返回ID.mix @@ -1 +1 @@ -111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoifacepeopleinfo1faceMixlypeoples0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5mYWNlX2RldGVjdCgpCiAgICBmb3IgZmFjZSBpbiBpbmZvOgogICAgICAgIHBlb3BsZSA9IGZhY2UuaW5mbzEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwocGVvcGxlKQogICAgdGltZS5zbGVlcCgwLjEpCg==sZWVwKDAuMSkK \ No newline at end of file +111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoifacepeopleinfo1faceMixlypeoples0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5mYWNlX2RldGVjdCgpCiAgICBmb3IgZmFjZSBpbiBpbmZvOgogICAgICAgIHBlb3BsZSA9IGZhY2UuaW5mbzEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwocGVvcGxlKQogICAgdGltZS5zbGVlcCgwLjEpCg==sZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-2-MixGoAI图像识别-二维码识别-返回内容.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-2-MixGoAI图像识别-二维码识别-返回内容.mix index ae56db6d..80e4fa16 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-2-MixGoAI图像识别-二维码识别-返回内容.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-2-MixGoAI图像识别-二维码识别-返回内容.mix @@ -1 +1 @@ -111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoiqrcodeqrneironginfo1qrcodeMixlyqrneirongs0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kX3FyY29kZXMoKQogICAgZm9yIHFyY29kZSBpbiBpbmZvOgogICAgICAgIHFybmVpcm9uZyA9IHFyY29kZS5pbmZvMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChxcm5laXJvbmcpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoiqrcodeqrneironginfo1qrcodeMixlyqrneirongs0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kX3FyY29kZXMoKQogICAgZm9yIHFyY29kZSBpbiBpbmZvOgogICAgICAgIHFybmVpcm9uZyA9IHFyY29kZS5pbmZvMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChxcm5laXJvbmcpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-20物体对象-返回ID.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-20物体对象-返回ID.mix index 49cbda96..e083f9e6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-20物体对象-返回ID.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-20物体对象-返回ID.mix @@ -1 +1 @@ -111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoi20objectsObjinfo120objectsMixlyObjs0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kXzIwb2JqZWN0KCkKICAgIGZvciBteV8yMG9iamVjdHMgaW4gaW5mbzoKICAgICAgICBPYmogPSBteV8yMG9iamVjdHMuaW5mbzEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoT2JqKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoi20objectsObjinfo120objectsMixlyObjs0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kXzIwb2JqZWN0KCkKICAgIGZvciBteV8yMG9iamVjdHMgaW4gaW5mbzoKICAgICAgICBPYmogPSBteV8yMG9iamVjdHMuaW5mbzEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoT2JqKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-矩形识别-返回面积.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-矩形识别-返回面积.mix index bb9fc6ea..22e6720f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-矩形识别-返回面积.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-矩形识别-返回面积.mix @@ -1 +1 @@ -111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor100000,1,2,3infoirectrect_Sinfo1rectMixlyrect_Ss0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kX3JlY3RzKDEwMDAwKQogICAgZm9yIHJlY3QgaW4gaW5mbzoKICAgICAgICByZWN0X1MgPSByZWN0LmluZm8xCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHJlY3RfUykKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor100000,1,2,3infoirectrect_Sinfo1rectMixlyrect_Ss0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kX3JlY3RzKDEwMDAwKQogICAgZm9yIHJlY3QgaW4gaW5mbzoKICAgICAgICByZWN0X1MgPSByZWN0LmluZm8xCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHJlY3RfUykKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-车牌识别-返回车牌号.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-车牌识别-返回车牌号.mix index e4011bc8..8aa63b50 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-车牌识别-返回车牌号.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/50-3-MixGoAI图像识别-车牌识别-返回车牌号.mix @@ -1 +1 @@ -111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoilicensePlateChePaiinfo1licensePlateMixlyChePais0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kX2xpY2Vuc2VwbGF0ZSgpCiAgICBmb3IgbGljZW5zZVBsYXRlIGluIGluZm86CiAgICAgICAgQ2hlUGFpID0gbGljZW5zZVBsYXRlLmluZm8xCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKENoZVBhaSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +111520012uart1ai_sensorTrueai_sensor98WHILETRUEinfoai_sensor0,1,2,3infoilicensePlateChePaiinfo1licensePlateMixlyChePais0.1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX2FpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9Miwgcng9MSwgYmF1ZHJhdGU9MTE1MjAwKQphaV9zZW5zb3I9bWl4Z29fYWkuQUkodWFydDEsIHF1aWNrPTEpCmFpX3NlbnNvci5jb25maWd1cmUoOCwgOSwgcmVzdGFydD1UcnVlKQp3aGlsZSBUcnVlOgogICAgaW5mbyA9IGFpX3NlbnNvci5maW5kX2xpY2Vuc2VwbGF0ZSgpCiAgICBmb3IgbGljZW5zZVBsYXRlIGluIGluZm86CiAgICAgICAgQ2hlUGFpID0gbGljZW5zZVBsYXRlLmluZm8xCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKENoZVBhaSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-12 MIXIO使用.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-12 MIXIO使用.mix index 7002a815..5887ffd7 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-12 MIXIO使用.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-12 MIXIO使用.mix @@ -1 +1 @@ -clienttopicmsgWifi connectedmixio.mixly.cnusernamepasswordMyProjecttopicmethodWHILETRUEtempmsgs1methodMixlymsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKcHJpbnQoJ1dpZmkgY29ubmVjdGVkJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ3RvcGljJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICd0b3BpYycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICd0ZW1wJywgb25ib2FyZF90ZW1wZXJhdHVyZSgpKQogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +clienttopicmsgWifi connectedmixio.mixly.cnusernamepasswordMyProjecttopicmethodWHILETRUEtempmsgs1methodMixlymsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKcHJpbnQoJ1dpZmkgY29ubmVjdGVkJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ3RvcGljJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICd0b3BpYycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICd0ZW1wJywgb25ib2FyZF90ZW1wZXJhdHVyZSgpKQogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2a 无线发送.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2a 无线发送.mix index da50bcd8..91ee6901 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2a 无线发送.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2a 无线发送.mix @@ -1 +1 @@ -1TrueWHILETRUEB1keyon{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnb24nKQo= \ No newline at end of file +1TrueWHILETRUEB1keyon{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgbWl4Z29fbWluaQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnb24nKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2b 无线接收.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2b 无线接收.mix index 0cd0e813..49174f11 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2b 无线接收.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-2b 无线接收.mix @@ -1 +1 @@ -1TrueWHILETRUEon1000{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgdWJpbmFzY2lpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKX3JhZGlvX21zZ19saXN0ID0gW10KZGVmIEVTUE5vd19yYWRpb19yZWN2X2NhbGxiYWNrKG1hYyxFU1BOb3dfcmFkaW9fbXNnKToKICAgIGdsb2JhbCBfcmFkaW9fbXNnX2xpc3QKICAgIHRyeTogRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpCiAgICBleGNlcHQ6IHBhc3MKICAgIGlmIHN0cihFU1BOb3dfcmFkaW9fbXNnKSBpbiBfcmFkaW9fbXNnX2xpc3Q6CiAgICAgICAgZXZhbCgncmFkaW9fcmVjdl8nICsgYnl0ZXMuZGVjb2RlKHViaW5hc2NpaS5oZXhsaWZ5KEVTUE5vd19yYWRpb19tc2cpKSArICcoKScpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYihFU1BOb3dfcmFkaW9fcmVjdl9jYWxsYmFjaykKCl9yYWRpb19tc2dfbGlzdC5hcHBlbmQoJ29uJykKZGVmIHJhZGlvX3JlY3ZfNmY2ZSgpOgogICAgb25ib2FyZF9yZ2IucmFpbmJvd19jeWNsZSgxMDAwKQoKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file +1TrueWHILETRUEon1000{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQppbXBvcnQgdWJpbmFzY2lpCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKX3JhZGlvX21zZ19saXN0ID0gW10KZGVmIEVTUE5vd19yYWRpb19yZWN2X2NhbGxiYWNrKG1hYyxFU1BOb3dfcmFkaW9fbXNnKToKICAgIGdsb2JhbCBfcmFkaW9fbXNnX2xpc3QKICAgIHRyeTogRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpCiAgICBleGNlcHQ6IHBhc3MKICAgIGlmIHN0cihFU1BOb3dfcmFkaW9fbXNnKSBpbiBfcmFkaW9fbXNnX2xpc3Q6CiAgICAgICAgZXZhbCgncmFkaW9fcmVjdl8nICsgYnl0ZXMuZGVjb2RlKHViaW5hc2NpaS5oZXhsaWZ5KEVTUE5vd19yYWRpb19tc2cpKSArICcoKScpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYihFU1BOb3dfcmFkaW9fcmVjdl9jYWxsYmFjaykKCl9yYWRpb19tc2dfbGlzdC5hcHBlbmQoJ29uJykKZGVmIHJhZGlvX3JlY3ZfNmY2ZSgpOgogICAgb25ib2FyZF9yZ2IucmFpbmJvd19jeWNsZSgxMDAwKQoKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3a 蓝牙主机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3a 蓝牙主机.mix index 379d479b..25e24591 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3a 蓝牙主机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3a 蓝牙主机.mix @@ -1 +1 @@ -ble_cnameble_cMbleWHILETRUEble_cs1Connecting...ConnectedWHILETRUEB1keyble_c1ble_c4401000Mble disconnectedBREAK{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MuY29ubmVjdChuYW1lPSdNYmxlJykKd2hpbGUgbm90IGJsZV9jLmlzX2Nvbm5lY3RlZCgpOgogICAgdGltZS5zbGVlcCgxKQogICAgcHJpbnQoJ0Nvbm5lY3RpbmcuLi4nKQpwcmludCgnQ29ubmVjdGVkJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfYy5zZW5kKCcxJykKICAgIGlmIG5vdCBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWJsZSBkaXNjb25uZWN0ZWQnKQogICAgICAgIGJyZWFrCg== \ No newline at end of file +ble_cnameble_cMbleWHILETRUEble_cs1Connecting...ConnectedWHILETRUEB1keyble_c1ble_c4401000Mble disconnectedBREAK{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MuY29ubmVjdChuYW1lPSdNYmxlJykKd2hpbGUgbm90IGJsZV9jLmlzX2Nvbm5lY3RlZCgpOgogICAgdGltZS5zbGVlcCgxKQogICAgcHJpbnQoJ0Nvbm5lY3RpbmcuLi4nKQpwcmludCgnQ29ubmVjdGVkJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfYy5zZW5kKCcxJykKICAgIGlmIG5vdCBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMDAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCgnTWJsZSBkaXNjb25uZWN0ZWQnKQogICAgICAgIGJyZWFrCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3b 蓝牙从机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3b 蓝牙从机.mix index 10eb6e62..65e9ba80 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3b 蓝牙从机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-3b 蓝牙从机.mix @@ -1 +1 @@ -ble_pMbleWHILETRUEEQble_p11-1{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpibGVfcCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01ibGUnKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3AucmVjdigpID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQo= \ No newline at end of file +ble_pMbleWHILETRUEEQble_p11-1{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpibGVfcCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01ibGUnKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3AucmVjdigpID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-4 HTTP协议.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-4 HTTP协议.mix index bf7f5810..93bb739d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-4 HTTP协议.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-4 HTTP协议.mix @@ -1 +1 @@ -WHILETRUEFalsehttps://mixio.mixly.cn/time.phptextclient_lenserver_lens10B1key2023,1,1,12,0,0,6text{}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQp3aGlsZSBUcnVlOgogICAgSFRUUF9jbGllbnQgPSBkZWJ1Z25ldC5yZXF1ZXN0KCJHRVQiLCdodHRwOi8vbWl4aW8ubWl4bHkub3JnL3RpbWUucGhwJyxkZWJ1Zz1GYWxzZSkKICAgIHByaW50KEhUVFBfY2xpZW50LnRleHQsIEhUVFBfY2xpZW50LmNsaWVudF9sZW4sIEhUVFBfY2xpZW50LnNlcnZlcl9sZW4pCiAgICB0aW1lLnNsZWVwKDEwKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHJ0Y3RpbWUuc2V0dGltZShIVFRQX2NsaWVudC50ZXh0KQo= \ No newline at end of file +WHILETRUEFalsehttps://mixio.mixly.cn/time.phptextclient_lenserver_lens10B1key2023,1,1,12,0,0,6text{}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQp3aGlsZSBUcnVlOgogICAgSFRUUF9jbGllbnQgPSBkZWJ1Z25ldC5yZXF1ZXN0KCJHRVQiLCdodHRwOi8vbWl4aW8ubWl4bHkub3JnL3RpbWUucGhwJyxkZWJ1Zz1GYWxzZSkKICAgIHByaW50KEhUVFBfY2xpZW50LnRleHQsIEhUVFBfY2xpZW50LmNsaWVudF9sZW4sIEhUVFBfY2xpZW50LnNlcnZlcl9sZW4pCiAgICB0aW1lLnNsZWVwKDEwKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHJ0Y3RpbWUuc2V0dGltZShIVFRQX2NsaWVudC50ZXh0KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-5 MQTT协议.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-5 MQTT协议.mix index cbc62265..b0a388bf 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-5 MQTT协议.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第三单元/3-5 MQTT协议.mix @@ -1 +1 @@ -Falsemixio.mixly.cnWHILETRUEtime_msg()client_lenserver_lens10B1key2023,1,1,12,0,0,6time_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQptcXR0X2NsaWVudCA9IGRlYnVnbmV0LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCAiTWl4SU8vM1FCQUdLUkwvZGVmYXVsdC8iLGRlYnVnPUZhbHNlKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoIiRTWVMvaGVsbG8iKQp3aGlsZSBUcnVlOgogICAgcHJpbnQobXF0dF9jbGllbnQudGltZV9tc2coKSwgbXF0dF9jbGllbnQuY2xpZW50X2xlbiwgbXF0dF9jbGllbnQuc2VydmVyX2xlbikKICAgIHRpbWUuc2xlZXAoMTApCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgcnRjdGltZS5zZXR0aW1lKG1xdHRfY2xpZW50LnRpbWVfbXNnKCkpCg== \ No newline at end of file +Falsemixio.mixly.cnWHILETRUEtime_msg()client_lenserver_lens10B1key2023,1,1,12,0,0,6time_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgZGVidWduZXQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJ0Y3RpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQptcXR0X2NsaWVudCA9IGRlYnVnbmV0LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCAiTWl4SU8vM1FCQUdLUkwvZGVmYXVsdC8iLGRlYnVnPUZhbHNlKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoIiRTWVMvaGVsbG8iKQp3aGlsZSBUcnVlOgogICAgcHJpbnQobXF0dF9jbGllbnQudGltZV9tc2coKSwgbXF0dF9jbGllbnQuY2xpZW50X2xlbiwgbXF0dF9jbGllbnQuc2VydmVyX2xlbikKICAgIHRpbWUuc2xlZXAoMTApCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgcnRjdGltZS5zZXR0aW1lKG1xdHRfY2xpZW50LnRpbWVfbXNnKCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-11 RFID读取.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-11 RFID读取.mix index 6652ed0c..8b037d84 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-11 RFID读取.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-11 RFID读取.mix @@ -1 +1 @@ -WHILETRUEcardNEQcardMixlycards1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBjYXJkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmQgIT0gTm9uZToKICAgICAgICBwcmludChjYXJkKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEcardNEQcardMixlycards1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBjYXJkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmQgIT0gTm9uZToKICAgICAgICBwcmludChjYXJkKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-16 WIFI扫描.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-16 WIFI扫描.mix index 6aa4b8fb..b0715717 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-16 WIFI扫描.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-16 WIFI扫描.mix @@ -1 +1 @@ -STAwlanTruewlan0,1,2,3wlaniMixlyi{}aW1wb3J0IG5ldHdvcmsKaW1wb3J0IG1hY2hpbmUKCgp3bGFuID0gbmV0d29yay5XTEFOKG5ldHdvcmsuU1RBX0lGKTsKd2xhbi5hY3RpdmUoVHJ1ZSkKZm9yIGkgaW4gd2xhbi5zY2FuKCk6CiAgICBwcmludChpKQo= \ No newline at end of file +STAwlanTruewlan0,1,2,3wlaniMixlyi{}aW1wb3J0IG5ldHdvcmsKaW1wb3J0IG1hY2hpbmUKCgp3bGFuID0gbmV0d29yay5XTEFOKG5ldHdvcmsuU1RBX0lGKTsKd2xhbi5hY3RpdmUoVHJ1ZSkKZm9yIGkgaW4gd2xhbi5zY2FuKCk6CiAgICBwcmludChpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-4 获取光强.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-4 获取光强.mix index 5b0470e2..7dcd0700 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-4 获取光强.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-4 获取光强.mix @@ -1 +1 @@ -WHILETRUEMixlys0.5{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +WHILETRUEMixlys0.5{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-5 楼道灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-5 楼道灯.mix index 6d5b036e..1c65d321 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-5 楼道灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第二单元/2-5 楼道灯.mix @@ -1 +1 @@ -WHILETRUEGT100011s310{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSA+IDEwMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMykKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +WHILETRUEGT100011s310{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSA+IDEwMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMykKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-10-11 MIXIO学生抢答.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-10-11 MIXIO学生抢答.mix index 8868f0e7..60bae9ac 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-10-11 MIXIO学生抢答.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-10-11 MIXIO学生抢答.mix @@ -1 +1 @@ -clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题startWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCuWFgeiuuOetlOmimCA9IEZhbHNlCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxzdGFydCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5YWB6K64562U6aKYOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOWtpueUnycsICflsI/mmbonKQogICAgICAgICAgICDlhYHorrjnrZTpopggPSBGYWxzZQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykK \ No newline at end of file +clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题startWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCuWFgeiuuOetlOmimCA9IEZhbHNlCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxzdGFydCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5YWB6K64562U6aKYOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOWtpueUnycsICflsI/mmbonKQogICAgICAgICAgICDlhYHorrjnrZTpopggPSBGYWxzZQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5OTykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-15-16 MIXIO学生抢答2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-15-16 MIXIO学生抢答2.mix index dcfb1604..9cb0d587 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-15-16 MIXIO学生抢答2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-15-16 MIXIO学生抢答2.mix @@ -1 +1 @@ -clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题start抢答学生studentWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUEstudent允许答题允许答题FALSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCmRlZiBzdHVkZW50KGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5YWB6K64562U6aKYCiAgICDlhYHorrjnrZTpopggPSBGYWxzZQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykK5YWB6K64562U6aKYID0gRmFsc2UKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLHN0YXJ0LCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562U6aKYJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmiqLnrZTlrabnlJ8nLHN0dWRlbnQsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOWFgeiuuOetlOmimDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nLCAn5bCP5pm6JykKICAgICAgICAgICAg5YWB6K64562U6aKYID0gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file +clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YES允许答题FALSE开始答题start抢答学生studentWHILETRUE允许答题onboard_matrix.YESA1key抢答学生小智允许答题FALSEonboard_matrix.NOstartEQmsg1允许答题允许答题TRUEstudent允许答题允许答题FALSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgpkZWYgc3RhcnQoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgZ2xvYmFsIOWFgeiuuOetlOmimAogICAgICAgIOWFgeiuuOetlOmimCA9IFRydWUKCmRlZiBzdHVkZW50KGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5YWB6K64562U6aKYCiAgICDlhYHorrjnrZTpopggPSBGYWxzZQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykK5YWB6K64562U6aKYID0gRmFsc2UKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLHN0YXJ0LCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562U6aKYJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmiqLnrZTlrabnlJ8nLHN0dWRlbnQsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOWFgeiuuOetlOmimDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTlrabnlJ8nLCAn5bCP5pm6JykKICAgICAgICAgICAg5YWB6K64562U6aKYID0gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-5 MIXIO学生点到.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-5 MIXIO学生点到.mix index b07262fd..44a82c43 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-5 MIXIO学生点到.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/上册第四单元/4-5 MIXIO学生点到.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YESWHILETRUEA1key抢答学生小智{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U5a2m55SfJywgJ+Wwj+aZuicpCg== \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProjectonboard_matrix.YESWHILETRUEA1key抢答学生小智{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ZRVMpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5oqi562U5a2m55SfJywgJ+Wwj+aZuicpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-11 停车显示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-11 停车显示.mix index 96df9089..af1d29c0 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-11 停车显示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-11 停车显示.mix @@ -1 +1 @@ -clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectA9B9停车场AmethodA停车场BmethodBWHILETRUEonboard_matrix.HEARTHelloxAMixly|MixlyxBmethodAAAmsgmethodBBBmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kQShjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIEEKICAgIEEgPSBtc2cKCmRlZiBtZXRob2RCKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgQgogICAgQiA9IG1zZwoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCkEgPSA5CkIgPSA5Cm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YGc6L2m5Zy6QScsbWV0aG9kQSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WBnOi9puWcukEnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+WBnOi9puWcukInLG1ldGhvZEIsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflgZzovablnLpCJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoQSkgKyAoJ3wnICsgc3RyKEIpKSkK \ No newline at end of file +clienttopicmsgmixio.mixly.cnusernamepasswordMyProjectA9B9停车场AmethodA停车场BmethodBWHILETRUEonboard_matrix.HEARTHelloxAMixly|MixlyxBmethodAAAmsgmethodBBBmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kQShjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIEEKICAgIEEgPSBtc2cKCmRlZiBtZXRob2RCKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgQgogICAgQiA9IG1zZwoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCcnLCcnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCkEgPSA5CkIgPSA5Cm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YGc6L2m5Zy6QScsbWV0aG9kQSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WBnOi9puWcukEnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+WBnOi9puWcukInLG1ldGhvZEIsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflgZzovablnLpCJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoQSkgKyAoJ3wnICsgc3RyKEIpKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-19 车位检测.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-19 车位检测.mix index 967f200e..4331c319 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-19 车位检测.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-19 车位检测.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProjectWHILETRUEGT10001110s0.1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcxJykKICAgIGVsc2U6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcwJykKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProjectWHILETRUEGT10001110s0.1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcxJykKICAgIGVsc2U6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnMScsICcwJykKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-20 空位显示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-20 空位显示.mix index 706f617c..21f34047 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-20 空位显示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-20 空位显示.mix @@ -1 +1 @@ -clienttopicmsgwifinamewifipasswordmixio.mixly.cnusernamepasswordMyProject0method1method2method余量0各车位状态000WHILETRUEs1余量COUNT各车位状态00onboard_matrix.HEARTx余量method各车位状态EQmsg1mylist各车位状态0intxtopic1mylist各车位状态0intxtopic0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5ZCE6L2m5L2N54q25oCBCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOWQhOi9puS9jeeKtuaAgVtpbnQodG9waWMpXSA9IDEKICAgIGVsc2U6CiAgICAgICAg5ZCE6L2m5L2N54q25oCBW2ludCh0b3BpYyldID0gMAoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCd3aWZpbmFtZScsJ3dpZmlwYXNzd29yZCcpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcwJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcwJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcxJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcxJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcyJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcyJykK5L2Z6YePID0gMArlkITovabkvY3nirbmgIEgPSBbMCwgMCwgMF0Kd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICB0aW1lLnNsZWVwKDEpCiAgICDkvZnph48gPSDlkITovabkvY3nirbmgIEuY291bnQoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijkvZnph48pKQo= \ No newline at end of file +clienttopicmsgwifinamewifipasswordmixio.mixly.cnusernamepasswordMyProject0method1method2method余量0各车位状态000WHILETRUEs1余量COUNT各车位状态00onboard_matrix.HEARTx余量method各车位状态EQmsg1mylist各车位状态0intxtopic1mylist各车位状态0intxtopic0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5ZCE6L2m5L2N54q25oCBCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOWQhOi9puS9jeeKtuaAgVtpbnQodG9waWMpXSA9IDEKICAgIGVsc2U6CiAgICAgICAg5ZCE6L2m5L2N54q25oCBW2ludCh0b3BpYyldID0gMAoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCd3aWZpbmFtZScsJ3dpZmlwYXNzd29yZCcpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcwJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcwJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcxJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcxJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCcyJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICcyJykK5L2Z6YePID0gMArlkITovabkvY3nirbmgIEgPSBbMCwgMCwgMF0Kd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICB0aW1lLnNsZWVwKDEpCiAgICDkvZnph48gPSDlkITovabkvY3nirbmgIEuY291bnQoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijkvZnph48pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-9 停车空位.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-9 停车空位.mix index bd0bf18d..532b80a0 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-9 停车空位.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第一单元/5-9 停车空位.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProject已停车辆数量0WHILETRUE车辆IDNEQ车辆ID784100inx车辆ID0,1,2,3已停车辆removemylist已停车辆0车辆IDappendmylist已停车辆0车辆ID余位量MINUS91LENmylist已停车辆停车场msg余位量onboard_matrix.HEARTx余位量s0.2{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWF0aApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQrlt7LlgZzovabovoYgPSBbXQrmlbDph48gPSAwCndoaWxlIFRydWU6CiAgICDovabovoZJRCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovoZJRCAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICBpZiDovabovoZJRCBpbiDlt7LlgZzovabovoY6CiAgICAgICAgICAgIOW3suWBnOi9pui+hi5yZW1vdmUo6L2m6L6GSUQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg5bey5YGc6L2m6L6GLmFwcGVuZCjovabovoZJRCkKICAgICAgICDkvZnkvY3ph48gPSA5IC0gbGVuKOW3suWBnOi9pui+hikKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflgZzovablnLonLCDkvZnkvY3ph48pCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOS9meS9jemHjykpCiAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProject已停车辆数量0WHILETRUE车辆IDNEQ车辆ID784100inx车辆ID0,1,2,3已停车辆removemylist已停车辆0车辆IDappendmylist已停车辆0车辆ID余位量MINUS91LENmylist已停车辆停车场msg余位量onboard_matrix.HEARTx余位量s0.2{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWF0aApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnJywnJykKTVFUVF9VU1JfUFJKID0gJ3VzZXJuYW1lL015UHJvamVjdC8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ3VzZXJuYW1lJywgJ3Bhc3N3b3JkJywgTVFUVF9VU1JfUFJKKQrlt7LlgZzovabovoYgPSBbXQrmlbDph48gPSAwCndoaWxlIFRydWU6CiAgICDovabovoZJRCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovoZJRCAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg3ODQsIDEwMCkKICAgICAgICBpZiDovabovoZJRCBpbiDlt7LlgZzovabovoY6CiAgICAgICAgICAgIOW3suWBnOi9pui+hi5yZW1vdmUo6L2m6L6GSUQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg5bey5YGc6L2m6L6GLmFwcGVuZCjovabovoZJRCkKICAgICAgICDkvZnkvY3ph48gPSA5IC0gbGVuKOW3suWBnOi9pui+hikKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflgZzovablnLonLCDkvZnkvY3ph48pCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOS9meS9jemHjykpCiAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-10 摔倒检测.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-10 摔倒检测.mix index 9ea91adf..3e57a847 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-10 摔倒检测.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-10 摔倒检测.mix @@ -1 +1 @@ -wifinamewifipasswordmixio.mixly.cnusernamepasswordMyProjectWHILETRUEGTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]4s0.5LTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]2msg老人可能摔倒了,请尽快查看!{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnd2lmaW5hbWUnLCd3aWZpcGFzc3dvcmQnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBpZiBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0pICsgKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pKSA+IDQ6CiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgaWYgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdKSArIChtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pICsgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzJdKSkgPCAyOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdtc2cnLCAn6ICB5Lq65Y+v6IO95pGU5YCS5LqG77yM6K+35bC95b+r5p+l55yL77yBJykK \ No newline at end of file +wifinamewifipasswordmixio.mixly.cnusernamepasswordMyProjectWHILETRUEGTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]4s0.5LTADD1fabs0.998[0]1ADD1fabs0.998[1]1fabs0.998[2]2msg老人可能摔倒了,请尽快查看!{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnd2lmaW5hbWUnLCd3aWZpcGFzc3dvcmQnKQpNUVRUX1VTUl9QUkogPSAndXNlcm5hbWUvTXlQcm9qZWN0LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAndXNlcm5hbWUnLCAncGFzc3dvcmQnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBpZiBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0pICsgKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMl0pKSA+IDQ6CiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgaWYgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdKSArIChtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pICsgbWF0aC5mYWJzKG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzJdKSkgPCAyOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdtc2cnLCAn6ICB5Lq65Y+v6IO95pGU5YCS5LqG77yM6K+35bC95b+r5p+l55yL77yBJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-2 温度与光照.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-2 温度与光照.mix index bb571c92..e298c118 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-2 温度与光照.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-2 温度与光照.mix @@ -1 +1 @@ -mixio.mixly.cnusernamepasswordMyProjectWHILETRUE温度msg光照msgs600{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJycsJycpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+a4qeW6picsIG9uYm9hcmRfdGVtcGVyYXR1cmUoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFpycsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNjAwKQo= \ No newline at end of file +mixio.mixly.cnusernamepasswordMyProjectWHILETRUE温度msg光照msgs600{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJycsJycpCk1RVFRfVVNSX1BSSiA9ICd1c2VybmFtZS9NeVByb2plY3QvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICd1c2VybmFtZScsICdwYXNzd29yZCcsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+a4qeW6picsIG9uYm9hcmRfdGVtcGVyYXR1cmUoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFpycsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-7 震动强度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-7 震动强度.mix index 073608fb..5a23c182 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-7 震动强度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/八年级/下册第二单元/2-7 震动强度.mix @@ -1 +1 @@ -WHILETRUEMixlyADD1ADD1fabs0.998[0]1fabs0.998[1]1fabs0.998[2]s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgbWF0aAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludCgoKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pKSArIG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsyXSkpKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEMixlyADD1ADD1fabs0.998[0]1fabs0.998[1]1fabs0.998[2]s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgbWF0aAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludCgoKG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSkgKyBtYXRoLmZhYnMob25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0pKSArIG1hdGguZmFicyhvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsyXSkpKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/上册第四单元/6上图4-17.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/上册第四单元/6上图4-17.mix index efc6d88d..295fa892 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/上册第四单元/6上图4-17.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/上册第四单元/6上图4-17.mix @@ -1 +1 @@ -分数0WHILETRUELT分数10编号int14EQ编号1onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0]]EQ编号2onboard_matrix.HEART[[0,0,1,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]EQ编号3onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,1,1,1,1],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,0,1,0,0]]onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,1,1,1,1],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUEORORANDEQ编号1A1keyANDEQ编号2A3keyORANDEQ编号3B1keyANDEQ编号4B2key分数ADD1分数1onboard_matrix.SMILE{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgoK5YiG5pWwID0gMAp3aGlsZSDliIbmlbAgPCAxMDoKICAgIOe8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCiAgICBpZiDnvJblj7cgPT0gMToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDIwXHg3MFx4YThceDIwXHgyMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAnKSkKICAgIGVsaWYg57yW5Y+3ID09IDI6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgwNFx4MGVceDE1XHgwNFx4MDRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJykpCiAgICBlbGlmIOe8luWPtyA9PSAzOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDIwXHg3MFx4YThceDIwXHgyMCcpKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwNFx4MGVceDE1XHgwNFx4MDQnKSkKICAgIHdoaWxlIG5vdCAoKCjnvJblj7cgPT0gMSBhbmQgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpKSBvciAo57yW5Y+3ID09IDIgYW5kIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKSkpIG9yICgo57yW5Y+3ID09IDMgYW5kIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKSkgb3IgKOe8luWPtyA9PSA0IGFuZCBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkpKSk6CiAgICAgICAgcGFzcwogICAg5YiG5pWwID0g5YiG5pWwICsgMQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TTUlMRSkK \ No newline at end of file +分数0WHILETRUELT分数10编号int14EQ编号1onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0]]EQ编号2onboard_matrix.HEART[[0,0,1,0,0,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]EQ编号3onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,1,1,1,1],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,0,1,0,0]]onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,1,1,1,1,1],[0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUEORORANDEQ编号1A1keyANDEQ编号2A3keyORANDEQ编号3B1keyANDEQ编号4B2key分数ADD1分数1onboard_matrix.SMILE{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCgoK5YiG5pWwID0gMAp3aGlsZSDliIbmlbAgPCAxMDoKICAgIOe8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCiAgICBpZiDnvJblj7cgPT0gMToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDIwXHg3MFx4YThceDIwXHgyMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDAnKSkKICAgIGVsaWYg57yW5Y+3ID09IDI6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgwNFx4MGVceDE1XHgwNFx4MDRceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJykpCiAgICBlbGlmIOe8luWPtyA9PSAzOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDIwXHg3MFx4YThceDIwXHgyMCcpKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhieXRlYXJyYXkoYidceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwNFx4MGVceDE1XHgwNFx4MDQnKSkKICAgIHdoaWxlIG5vdCAoKCjnvJblj7cgPT0gMSBhbmQgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpKSBvciAo57yW5Y+3ID09IDIgYW5kIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKSkpIG9yICgo57yW5Y+3ID09IDMgYW5kIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKSkgb3IgKOe8luWPtyA9PSA0IGFuZCBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCkpKSk6CiAgICAgICAgcGFzcwogICAg5YiG5pWwID0g5YiG5pWwICsgMQpvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TTUlMRSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-12.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-12.mix index 3d01e48d..23b157f4 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-12.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-12.mix @@ -1 +1 @@ -WHILETRUE25500剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间102550剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间12552550剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1NSwgMCwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDliankvZnml7bpl7QgPSAxMAogICAgd2hpbGUg5Ymp5L2Z5pe26Ze0ID4gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIo5Ymp5L2Z5pe26Ze0KSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAg5Ymp5L2Z5pe26Ze0ID0g5Ymp5L2Z5pe26Ze0IC0gMQogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAg5Ymp5L2Z5pe26Ze0ID0gMTAKICAgIHdoaWxlIOWJqeS9meaXtumXtCA+IDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOWJqeS9meaXtumXtCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOWJqeS9meaXtumXtCA9IOWJqeS9meaXtumXtCAtIDEKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9yZ2IuZmlsbCgoMjU1LCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAg5Ymp5L2Z5pe26Ze0ID0gMTAKICAgIHdoaWxlIOWJqeS9meaXtumXtCA+IDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOWJqeS9meaXtumXtCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOWJqeS9meaXtumXtCA9IOWJqeS9meaXtumXtCAtIDEKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo=0ZSgpCiAgICBfRTVfODlfQTlfRTRfQkRfOTlfRTZfOTdfQjZfRTlfOTdfQjQgPSAxMAogICAgd2hpbGUgX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0ID4gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0KSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0IC0gMQogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +WHILETRUE25500剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间102550剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间12552550剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1NSwgMCwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDliankvZnml7bpl7QgPSAxMAogICAgd2hpbGUg5Ymp5L2Z5pe26Ze0ID4gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIo5Ymp5L2Z5pe26Ze0KSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAg5Ymp5L2Z5pe26Ze0ID0g5Ymp5L2Z5pe26Ze0IC0gMQogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAg5Ymp5L2Z5pe26Ze0ID0gMTAKICAgIHdoaWxlIOWJqeS9meaXtumXtCA+IDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOWJqeS9meaXtumXtCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOWJqeS9meaXtumXtCA9IOWJqeS9meaXtumXtCAtIDEKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9yZ2IuZmlsbCgoMjU1LCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAg5Ymp5L2Z5pe26Ze0ID0gMTAKICAgIHdoaWxlIOWJqeS9meaXtumXtCA+IDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOWJqeS9meaXtumXtCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOWJqeS9meaXtumXtCA9IOWJqeS9meaXtumXtCAtIDEKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo=0ZSgpCiAgICBfRTVfODlfQTlfRTRfQkRfOTlfRTZfOTdfQjZfRTlfOTdfQjQgPSAxMAogICAgd2hpbGUgX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0ID4gMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0KSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0ID0gX0U1Xzg5X0E5X0U0X0JEXzk5X0U2Xzk3X0I2X0U5Xzk3X0I0IC0gMQogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-16.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-16.mix index 335385f4..af381438 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-16.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-16.mix @@ -1 +1 @@ -WHILETRUE25500025502552550倒计时模块剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKZGVmIOWAkuiuoeaXtuaooeWdlygpOgogICAg5Ymp5L2Z5pe26Ze0ID0gMTAKICAgIHdoaWxlIOWJqeS9meaXtumXtCA+IDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOWJqeS9meaXtumXtCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOWJqeS9meaXtumXtCA9IOWJqeS9meaXtumXtCAtIDEKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoMjU1LCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOWAkuiuoeaXtuaooeWdlygpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAg5YCS6K6h5pe25qih5Z2XKCkKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1NSwgMjU1LCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOWAkuiuoeaXtuaooeWdlygpCg==ib2FyZF9yZ2IuZmlsbCgoMCwgMjU1LCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIF9FNV84MF85Ml9FOF9BRV9BMV9FNl85N19CNl9FNl9BOF9BMV9FNV85RF85NygpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgyNTUsIDI1NSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBfRTVfODBfOTJfRThfQUVfQTFfRTZfOTdfQjZfRTZfQThfQTFfRTVfOURfOTcoKQo= \ No newline at end of file +WHILETRUE25500025502552550倒计时模块剩余时间10WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKZGVmIOWAkuiuoeaXtuaooeWdlygpOgogICAg5Ymp5L2Z5pe26Ze0ID0gMTAKICAgIHdoaWxlIOWJqeS9meaXtumXtCA+IDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOWJqeS9meaXtumXtCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOWJqeS9meaXtumXtCA9IOWJqeS9meaXtumXtCAtIDEKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoMjU1LCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOWAkuiuoeaXtuaooeWdlygpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAg5YCS6K6h5pe25qih5Z2XKCkKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1NSwgMjU1LCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOWAkuiuoeaXtuaooeWdlygpCg==ib2FyZF9yZ2IuZmlsbCgoMCwgMjU1LCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIF9FNV84MF85Ml9FOF9BRV9BMV9FNl85N19CNl9FNl9BOF9BMV9FNV85RF85NygpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgyNTUsIDI1NSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBfRTVfODBfOTJfRThfQUVfQTFfRTZfOTdfQjZfRTZfQThfQTFfRTVfOURfOTcoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-22.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-22.mix index 0414f6be..2ee1d304 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-22.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第一单元/图1-22.mix @@ -1 +1 @@ -时间WHILETRUE255005025501025525503倒计时模块剩余时间时间WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKZGVmIOWAkuiuoeaXtuaooeWdlyjml7bpl7QpOgogICAg5Ymp5L2Z5pe26Ze0ID0g5pe26Ze0CiAgICB3aGlsZSDliankvZnml7bpl7QgPiAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijliankvZnml7bpl7QpKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDliankvZnml7bpl7QgPSDliankvZnml7bpl7QgLSAxCiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1NSwgMCwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlgJLorqHml7bmqKHlnZcoNSkKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDI1NSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlgJLorqHml7bmqKHlnZcoMTApCiAgICBvbmJvYXJkX3JnYi5maWxsKCgyNTUsIDI1NSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlgJLorqHml7bmqKHlnZcoMykK4X0ExX0U1XzlEXzk3KDUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgX0U1XzgwXzkyX0U4X0FFX0ExX0U2Xzk3X0I2X0U2X0E4X0ExX0U1XzlEXzk3KDEwKQogICAgb25ib2FyZF9yZ2IuZmlsbCgoMjU1LCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgX0U1XzgwXzkyX0U4X0FFX0ExX0U2Xzk3X0I2X0U2X0E4X0ExX0U1XzlEXzk3KDMpCg== \ No newline at end of file +时间WHILETRUE255005025501025525503倒计时模块剩余时间时间WHILETRUEGT剩余时间0onboard_matrix.HEART剩余时间s1剩余时间MINUS1剩余时间1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKZGVmIOWAkuiuoeaXtuaooeWdlyjml7bpl7QpOgogICAg5Ymp5L2Z5pe26Ze0ID0g5pe26Ze0CiAgICB3aGlsZSDliankvZnml7bpl7QgPiAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijliankvZnml7bpl7QpKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDliankvZnml7bpl7QgPSDliankvZnml7bpl7QgLSAxCiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1NSwgMCwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlgJLorqHml7bmqKHlnZcoNSkKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDI1NSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlgJLorqHml7bmqKHlnZcoMTApCiAgICBvbmJvYXJkX3JnYi5maWxsKCgyNTUsIDI1NSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlgJLorqHml7bmqKHlnZcoMykK4X0ExX0U1XzlEXzk3KDUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgX0U1XzgwXzkyX0U4X0FFX0ExX0U2Xzk3X0I2X0U2X0E4X0ExX0U1XzlEXzk3KDEwKQogICAgb25ib2FyZF9yZ2IuZmlsbCgoMjU1LCAyNTUsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgX0U1XzgwXzkyX0U4X0FFX0ExX0U2Xzk3X0I2X0U2X0E4X0ExX0U1XzlEXzk3KDMpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第三单元/图3-22.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第三单元/图3-22.mix index 2d4578ca..873f77fa 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第三单元/图3-22.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第三单元/图3-22.mix @@ -1 +1 @@ -WHILETRUEB1keyx5y3onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,1,1,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,1,1,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0]]tmstrue0x0yOFFGT[0]0.2xADD1x1LT[0]-0.2xMINUS1x1GT[0]0.2yADD1y1LT[0]-0.2yMINUS1y10x0yONs0.05ANDLTLT1x10LTLT1y64401000Mixlyxround0.998DIVIDE1ADD1ms1t1000{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCndoaWxlIG5vdCBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICBwYXNzCnggPSA1CnkgPSAzCm9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MDBceDdlXHg0Mlx4NDJceDQyXHg0Mlx4NDJceDQyXHg0Mlx4NDJceDdlXHgwMCcpKQp0ID0gdGltZS50aWNrc19tcygpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjI6CiAgICAgICAgeCA9IHggKyAxCiAgICBlbGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMjoKICAgICAgICB4ID0geCAtIDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4yOgogICAgICAgIHkgPSB5ICsgMQogICAgZWxpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjI6CiAgICAgICAgeSA9IHkgLSAxCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgdGltZS5zbGVlcCgwLjA1KQogICAgaWYgKG5vdCAoMSA8IHggPCAxMCBhbmQgMSA8IHkgPCA2KSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgMTAwMCkKb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihyb3VuZCgodGltZS50aWNrc19tcygpICsgdCkgLyAxMDAwKSkpCg==eld name="9-14">#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#ff0000#000000#000000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000tmstrue0x0yOFFGT[0]0.2xADD1x1LT[0]-0.2xMINUS1x1GT[0]0.2yADD1y1LT[0]-0.2yMINUS1y10x0yONs0.05ANDLTLT1x30LTLT1y104401000onboard_matrix.HEARTxround0.998DIVIDE1ADD1ms1t1000{}aW1wb3J0IG1peGdvX2NjCmZyb20gbWl4Z29fY2MgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fY2MgaW1wb3J0IG9uYm9hcmRfYWNjCmZyb20gbWl4Z29fY2MgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBub3QgbWl4Z29fY2MuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgIHBhc3MKeCA9IDE1CnkgPSA2Cm9uYm9hcmRfbWF0cml4LnNob3dzKFsweDAwLDB4MDAsMHgwMCwweDAwLDB4ZmUsMHhmZiwweGZmLDB4N2YsMHgwMiwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDQwLDB4ZmUsMHhmZiwweGZmLDB4N2YsMHgwMCwweDAwLDB4MDAsMHgwMF0pCnQgPSB0aW1lLnRpY2tzX21zKCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMjoKICAgICAgICB4ID0geCArIDEKICAgIGVsaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4yOgogICAgICAgIHggPSB4IC0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjI6CiAgICAgICAgeSA9IHkgKyAxCiAgICBlbGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMjoKICAgICAgICB5ID0geSAtIDEKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICBpZiAobm90ICgxIDwgeCA8IDMwIGFuZCAxIDwgeSA8IDEwKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgMTAwMCkKb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKHJvdW5kKCh0aW1lLnRpY2tzX21zKCkgKyB0KSAvIDEwMDApKSkK \ No newline at end of file +WHILETRUEB1keyx5y3onboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,1,1,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,0,0,0,0,0,0,0,0,1,0],[0,1,1,1,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0]]tmstrue0x0yOFFGT[0]0.2xADD1x1LT[0]-0.2xMINUS1x1GT[0]0.2yADD1y1LT[0]-0.2yMINUS1y10x0yONs0.05ANDLTLT1x10LTLT1y64401000Mixlyxround0.998DIVIDE1ADD1ms1t1000{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCndoaWxlIG5vdCBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICBwYXNzCnggPSA1CnkgPSAzCm9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MDBceDdlXHg0Mlx4NDJceDQyXHg0Mlx4NDJceDQyXHg0Mlx4NDJceDdlXHgwMCcpKQp0ID0gdGltZS50aWNrc19tcygpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjI6CiAgICAgICAgeCA9IHggKyAxCiAgICBlbGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMjoKICAgICAgICB4ID0geCAtIDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4yOgogICAgICAgIHkgPSB5ICsgMQogICAgZWxpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjI6CiAgICAgICAgeSA9IHkgLSAxCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgdGltZS5zbGVlcCgwLjA1KQogICAgaWYgKG5vdCAoMSA8IHggPCAxMCBhbmQgMSA8IHkgPCA2KSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgMTAwMCkKb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cihyb3VuZCgodGltZS50aWNrc19tcygpICsgdCkgLyAxMDAwKSkpCg==eld name="9-14">#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#ff0000#000000#000000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#ff0000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000tmstrue0x0yOFFGT[0]0.2xADD1x1LT[0]-0.2xMINUS1x1GT[0]0.2yADD1y1LT[0]-0.2yMINUS1y10x0yONs0.05ANDLTLT1x30LTLT1y104401000onboard_matrix.HEARTxround0.998DIVIDE1ADD1ms1t1000{}aW1wb3J0IG1peGdvX2NjCmZyb20gbWl4Z29fY2MgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fY2MgaW1wb3J0IG9uYm9hcmRfYWNjCmZyb20gbWl4Z29fY2MgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBub3QgbWl4Z29fY2MuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgIHBhc3MKeCA9IDE1CnkgPSA2Cm9uYm9hcmRfbWF0cml4LnNob3dzKFsweDAwLDB4MDAsMHgwMCwweDAwLDB4ZmUsMHhmZiwweGZmLDB4N2YsMHgwMiwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4NDAsMHgwMiwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDAsMHgwMCwweDQwLDB4ZmUsMHhmZiwweGZmLDB4N2YsMHgwMCwweDAwLDB4MDAsMHgwMF0pCnQgPSB0aW1lLnRpY2tzX21zKCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMjoKICAgICAgICB4ID0geCArIDEKICAgIGVsaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4yOgogICAgICAgIHggPSB4IC0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjI6CiAgICAgICAgeSA9IHkgKyAxCiAgICBlbGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMjoKICAgICAgICB5ID0geSAtIDEKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICBpZiAobm90ICgxIDwgeCA8IDMwIGFuZCAxIDwgeSA8IDEwKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgMTAwMCkKb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKHJvdW5kKCh0aW1lLnRpY2tzX21zKCkgKyB0KSAvIDEwMDApKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/图2-7.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/图2-7.mix index 39703e2a..a28ae081 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/图2-7.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/图2-7.mix @@ -1 +1 @@ -亮度0目标值50WHILETRUE0亮度0亮度0亮度s0.1当前值Mixly当前值ANDLT当前值目标值LT亮度255亮度ADD1亮度1ANDGT当前值目标值GT亮度0亮度MINUS1亮度1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtYWNoaW5lCgoK5Lqu5bqmID0gMArnm67moIflgLwgPSA1MAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2IuZmlsbCgo5Lqu5bqmLCDkuq7luqYsIOS6ruW6pikpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIOW9k+WJjeWAvCA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQogICAgcHJpbnQo5b2T5YmN5YC8KQogICAgaWYg5b2T5YmN5YC8IDwg55uu5qCH5YC8IGFuZCDkuq7luqYgPCAyNTU6CiAgICAgICAg5Lqu5bqmID0g5Lqu5bqmICsgMQogICAgZWxpZiDlvZPliY3lgLwgPiDnm67moIflgLwgYW5kIOS6ruW6piA+IDA6CiAgICAgICAg5Lqu5bqmID0g5Lqu5bqmIC0gMQo=FNF9CQV9BRV9FNV9CQV9BNiA8IDI1NToKICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSBfRTRfQkFfQUVfRTVfQkFfQTYgKyAxCiAgICBlbGlmIF9FNV9CRF85M19FNV84OV84RF9FNV84MF9CQyA+IF9FN185Ql9BRV9FNl9BMF84N19FNV84MF9CQyBhbmQgX0U0X0JBX0FFX0U1X0JBX0E2ID4gMDoKICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSBfRTRfQkFfQUVfRTVfQkFfQTYgLSAxCg== \ No newline at end of file +亮度0目标值50WHILETRUE0亮度0亮度0亮度s0.1当前值Mixly当前值ANDLT当前值目标值LT亮度255亮度ADD1亮度1ANDGT当前值目标值GT亮度0亮度MINUS1亮度1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtYWNoaW5lCgoK5Lqu5bqmID0gMArnm67moIflgLwgPSA1MAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2IuZmlsbCgo5Lqu5bqmLCDkuq7luqYsIOS6ruW6pikpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIOW9k+WJjeWAvCA9IG9uYm9hcmRfYWxzLmFsc192aXMoKQogICAgcHJpbnQo5b2T5YmN5YC8KQogICAgaWYg5b2T5YmN5YC8IDwg55uu5qCH5YC8IGFuZCDkuq7luqYgPCAyNTU6CiAgICAgICAg5Lqu5bqmID0g5Lqu5bqmICsgMQogICAgZWxpZiDlvZPliY3lgLwgPiDnm67moIflgLwgYW5kIOS6ruW6piA+IDA6CiAgICAgICAg5Lqu5bqmID0g5Lqu5bqmIC0gMQo=FNF9CQV9BRV9FNV9CQV9BNiA8IDI1NToKICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSBfRTRfQkFfQUVfRTVfQkFfQTYgKyAxCiAgICBlbGlmIF9FNV9CRF85M19FNV84OV84RF9FNV84MF9CQyA+IF9FN185Ql9BRV9FNl9BMF84N19FNV84MF9CQyBhbmQgX0U0X0JBX0FFX0U1X0JBX0E2ID4gMDoKICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSBfRTRfQkFfQUVfRTVfQkFfQTYgLSAxCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/第二单元任务三习题(P56).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/第二单元任务三习题(P56).mix index 15d452ab..1817751b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/第二单元任务三习题(P56).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/北师大版教材示例代码/六年级/下册第二单元/第二单元任务三习题(P56).mix @@ -1 +1 @@ -亮度0目标值50当前值0WHILETRUE0亮度0亮度0亮度s0.1当前值Mixly当前值LT当前值目标值亮度ADD1亮度1intMINUS1目标值1当前值GT亮度255亮度255GT当前值目标值亮度MINUS1亮度1intMINUS1当前值1目标值LT亮度0亮度0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtYWNoaW5lCgoK5Lqu5bqmID0gMArnm67moIflgLwgPSA1MArlvZPliY3lgLwgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKCjkuq7luqYsIOS6ruW6piwg5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAg5b2T5YmN5YC8ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3lgLwpCiAgICBpZiDlvZPliY3lgLwgPCDnm67moIflgLw6CiAgICAgICAg5Lqu5bqmID0g5Lqu5bqmICsgaW50KCjnm67moIflgLwgLSDlvZPliY3lgLwpKQogICAgICAgIGlmIOS6ruW6piA+IDI1NToKICAgICAgICAgICAg5Lqu5bqmID0gMjU1CiAgICBlbGlmIOW9k+WJjeWAvCA+IOebruagh+WAvDoKICAgICAgICDkuq7luqYgPSDkuq7luqYgLSBpbnQoKOW9k+WJjeWAvCAtIOebruagh+WAvCkpCiAgICAgICAgaWYg5Lqu5bqmIDwgMDoKICAgICAgICAgICAg5Lqu5bqmID0gMAo=FNV84MF9CQykpCiAgICAgICAgaWYgX0U0X0JBX0FFX0U1X0JBX0E2ID4gMjU1OgogICAgICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSAyNTUKICAgIGVsaWYgX0U1X0JEXzkzX0U1Xzg5XzhEX0U1XzgwX0JDID4gX0U3XzlCX0FFX0U2X0EwXzg3X0U1XzgwX0JDOgogICAgICAgIF9FNF9CQV9BRV9FNV9CQV9BNiA9IF9FNF9CQV9BRV9FNV9CQV9BNiAtIGludCgoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1XzgwX0JDIC0gX0U3XzlCX0FFX0U2X0EwXzg3X0U1XzgwX0JDKSkKICAgICAgICBpZiBfRTRfQkFfQUVfRTVfQkFfQTYgPCAwOgogICAgICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSAwCg== \ No newline at end of file +亮度0目标值50当前值0WHILETRUE0亮度0亮度0亮度s0.1当前值Mixly当前值LT当前值目标值亮度ADD1亮度1intMINUS1目标值1当前值GT亮度255亮度255GT当前值目标值亮度MINUS1亮度1intMINUS1当前值1目标值LT亮度0亮度0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtYWNoaW5lCgoK5Lqu5bqmID0gMArnm67moIflgLwgPSA1MArlvZPliY3lgLwgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKCjkuq7luqYsIOS6ruW6piwg5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAg5b2T5YmN5YC8ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3lgLwpCiAgICBpZiDlvZPliY3lgLwgPCDnm67moIflgLw6CiAgICAgICAg5Lqu5bqmID0g5Lqu5bqmICsgaW50KCjnm67moIflgLwgLSDlvZPliY3lgLwpKQogICAgICAgIGlmIOS6ruW6piA+IDI1NToKICAgICAgICAgICAg5Lqu5bqmID0gMjU1CiAgICBlbGlmIOW9k+WJjeWAvCA+IOebruagh+WAvDoKICAgICAgICDkuq7luqYgPSDkuq7luqYgLSBpbnQoKOW9k+WJjeWAvCAtIOebruagh+WAvCkpCiAgICAgICAgaWYg5Lqu5bqmIDwgMDoKICAgICAgICAgICAg5Lqu5bqmID0gMAo=FNV84MF9CQykpCiAgICAgICAgaWYgX0U0X0JBX0FFX0U1X0JBX0E2ID4gMjU1OgogICAgICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSAyNTUKICAgIGVsaWYgX0U1X0JEXzkzX0U1Xzg5XzhEX0U1XzgwX0JDID4gX0U3XzlCX0FFX0U2X0EwXzg3X0U1XzgwX0JDOgogICAgICAgIF9FNF9CQV9BRV9FNV9CQV9BNiA9IF9FNF9CQV9BRV9FNV9CQV9BNiAtIGludCgoX0U1X0JEXzkzX0U1Xzg5XzhEX0U1XzgwX0JDIC0gX0U3XzlCX0FFX0U2X0EwXzg3X0U1XzgwX0JDKSkKICAgICAgICBpZiBfRTRfQkFfQUVfRTVfQkFfQTYgPCAwOgogICAgICAgICAgICBfRTRfQkFfQUVfRTVfQkFfQTYgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/01-按钮切换灯-双轻触按键.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/01-按钮切换灯-双轻触按键.mix index ed6331fd..fea6a93b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/01-按钮切换灯-双轻触按键.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/01-按钮切换灯-双轻触按键.mix @@ -1 +1 @@ -双轻触按键连接到U2,使用IO3、IO4pin3machine.Pin.IN3pin4machine.Pin.IN4WHILETRUEpin3truems1pin31-1pin4truems1pin42-1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCnBpbjMgPSBtYWNoaW5lLlBpbigzLCBtYWNoaW5lLlBpbi5JTikKcGluNCA9IG1hY2hpbmUuUGluKDQsIG1hY2hpbmUuUGluLklOKQp3aGlsZSBUcnVlOgogICAgaWYgcGluMy52YWx1ZSgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICAgICAgaWYgKG5vdCBwaW4zLnZhbHVlKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgaWYgcGluNC52YWx1ZSgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICAgICAgaWYgKG5vdCBwaW40LnZhbHVlKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLC0xKQo= \ No newline at end of file +双轻触按键连接到U2,使用IO3、IO4pin3machine.Pin.IN3pin4machine.Pin.IN4WHILETRUEpin3truems1pin31-1pin4truems1pin42-1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCnBpbjMgPSBtYWNoaW5lLlBpbigzLCBtYWNoaW5lLlBpbi5JTikKcGluNCA9IG1hY2hpbmUuUGluKDQsIG1hY2hpbmUuUGluLklOKQp3aGlsZSBUcnVlOgogICAgaWYgcGluMy52YWx1ZSgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICAgICAgaWYgKG5vdCBwaW4zLnZhbHVlKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgaWYgcGluNC52YWx1ZSgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICAgICAgaWYgKG5vdCBwaW40LnZhbHVlKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLC0xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/02-倒车雷达-超声波测距.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/02-倒车雷达-超声波测距.mix index a9494d8e..c5131967 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/02-倒车雷达-超声波测距.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/02-倒车雷达-超声波测距.mix @@ -1 +1 @@ -超声波测距连接到U2,IO3,IO4管脚距离0WHILETRUE距离round0.99834TrueMixly距离0LTE距离506591000MULTIPLY1距离20ms1MULTIPLY1距离20{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgoK6Led56a7ID0gMAp3aGlsZSBUcnVlOgogICAg6Led56a7ID0gcm91bmQoc29uYXIuU29uYXIoMyw0KS5jaGVja2Rpc3QoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOi3neemuyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOi3neemuyA8PSA1MDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAo6Led56a7ICogMjApKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKOi3neemuyAqIDIwKSkK \ No newline at end of file +超声波测距连接到U2,IO3,IO4管脚距离0WHILETRUE距离round0.99834TrueMixly距离0LTE距离506591000MULTIPLY1距离20ms1MULTIPLY1距离20{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgoK6Led56a7ID0gMAp3aGlsZSBUcnVlOgogICAg6Led56a7ID0gcm91bmQoc29uYXIuU29uYXIoMyw0KS5jaGVja2Rpc3QoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOi3neemuyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOi3neemuyA8PSA1MDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAo6Led56a7ICogMjApKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKOi3neemuyAqIDIwKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/03-红绿灯-红绿蓝彩灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/03-红绿灯-红绿蓝彩灯.mix index aaf3d73d..266e444e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/03-红绿灯-红绿蓝彩灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/03-红绿灯-红绿蓝彩灯.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U2,IO3,IO4,IO5管脚pin#machine.Pin.OUT3pin#machine.Pin.OUT4pin#machine.Pin.OUT5WHILETRUEpin3HIGHpin4LOWpin5LOWs1pin3LOWpin4HIGHpin5LOWs1pin3LOWpin4LOWpin5HIGHs1pin3HIGHpin4HIGHpin5LOWs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpwaW4zID0gbWFjaGluZS5QaW4oMywgbWFjaGluZS5QaW4uT1VUKQpwaW40ID0gbWFjaGluZS5QaW4oNCwgbWFjaGluZS5QaW4uT1VUKQpwaW41ID0gbWFjaGluZS5QaW4oNSwgbWFjaGluZS5QaW4uT1VUKQp3aGlsZSBUcnVlOgogICAgcGluMy52YWx1ZSgxKQogICAgcGluNC52YWx1ZSgwKQogICAgcGluNS52YWx1ZSgwKQogICAgdGltZS5zbGVlcCgxKQogICAgcGluMy52YWx1ZSgwKQogICAgcGluNC52YWx1ZSgxKQogICAgcGluNS52YWx1ZSgwKQogICAgdGltZS5zbGVlcCgxKQogICAgcGluMy52YWx1ZSgxKQogICAgcGluNC52YWx1ZSgxKQogICAgcGluNS52YWx1ZSgwKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +红绿蓝彩灯连接到U2,IO3,IO4,IO5管脚pin#machine.Pin.OUT3pin#machine.Pin.OUT4pin#machine.Pin.OUT5WHILETRUEpin3HIGHpin4LOWpin5LOWs1pin3LOWpin4HIGHpin5LOWs1pin3LOWpin4LOWpin5HIGHs1pin3HIGHpin4HIGHpin5LOWs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpwaW4zID0gbWFjaGluZS5QaW4oMywgbWFjaGluZS5QaW4uT1VUKQpwaW40ID0gbWFjaGluZS5QaW4oNCwgbWFjaGluZS5QaW4uT1VUKQpwaW41ID0gbWFjaGluZS5QaW4oNSwgbWFjaGluZS5QaW4uT1VUKQp3aGlsZSBUcnVlOgogICAgcGluMy52YWx1ZSgxKQogICAgcGluNC52YWx1ZSgwKQogICAgcGluNS52YWx1ZSgwKQogICAgdGltZS5zbGVlcCgxKQogICAgcGluMy52YWx1ZSgwKQogICAgcGluNC52YWx1ZSgxKQogICAgcGluNS52YWx1ZSgwKQogICAgdGltZS5zbGVlcCgxKQogICAgcGluMy52YWx1ZSgxKQogICAgcGluNC52YWx1ZSgxKQogICAgcGluNS52YWx1ZSgwKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/04-可调灯-拨轮电位器.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/04-可调灯-拨轮电位器.mix index 86e87b07..7433890a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/04-可调灯-拨轮电位器.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/04-可调灯-拨轮电位器.mix @@ -1,2 +1,2 @@ -拨轮电位器 +拨轮电位器 连接到U2,IO3管脚adc#3machine.ADC.ATTN_11DBadc3WHILETRUE亮度floor0.99850adc306553501001100亮度2100亮度{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKaW1wb3J0IG1hdGgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCmFkYzMgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigzKSkKYWRjMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICDkuq7luqYgPSBtYXRoLmZsb29yKG1hdGhfbWFwKGFkYzMucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDEwMCkpCiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEs5Lqu5bqmKQogICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLOS6ruW6pikK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/05-温湿度计-温湿度传感.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/05-温湿度计-温湿度传感.mix index e28656c4..be439a09 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/05-温湿度计-温湿度传感.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/05-温湿度计-温湿度传感.mix @@ -1,2 +1,2 @@ -温湿度传感器 +温湿度传感器 连接到U2,IO3、IO4管脚i2c_extend34100000SHTC3i2c_extendxsensorWHILETRUEttemperaturexsensorhhumidityxsensorthMixlyT: {} S:{}th050s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHNodGMzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDMpLCBzZGEgPSBtYWNoaW5lLlBpbig0KSwgZnJlcSA9IDEwMDAwMCkKeHNlbnNvciA9IHNodGMzLlNIVEMzKGkyY19leHRlbmQpCndoaWxlIFRydWU6CiAgICB0ID0geHNlbnNvci50ZW1wZXJhdHVyZSgpCiAgICBoID0geHNlbnNvci5odW1pZGl0eSgpCiAgICBwcmludCh0LCBoKQogICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKCdUOiB7fSBTOnt9Jy5mb3JtYXQodCwgaCksc3BlZWQgPTUwLHNwYWNlID0gMCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/06-人体感应灯-微波雷达块.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/06-人体感应灯-微波雷达块.mix index cc9fbd82..94ed95cf 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/06-人体感应灯-微波雷达块.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/06-人体感应灯-微波雷达块.mix @@ -1,2 +1,2 @@ -微波雷达块 +微波雷达块 连接到U2,IO3、IO4管脚,延时时间表示人走后依然保持返回为真多长时间i2c_extend34100000CBR817i2c_extendxsensorxsensor50002000WHILETRUExsensor11211020{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNicjgxNwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKaTJjX2V4dGVuZCA9IG1hY2hpbmUuU29mdEkyQyhzY2wgPSBtYWNoaW5lLlBpbigzKSwgc2RhID0gbWFjaGluZS5QaW4oNCksIGZyZXEgPSAxMDAwMDApCnhzZW5zb3IgPSBjYnI4MTcuQ0JSODE3KGkyY19leHRlbmQpCnhzZW5zb3IudGhyZXNob2xkKDUwMDApCnhzZW5zb3IuZGVsYXlfbXMoMjAwMCkKd2hpbGUgVHJ1ZToKICAgIGlmIHhzZW5zb3IucmVzdWx0KCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/07-温度计-温度传感器(DS18B20).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/07-温度计-温度传感器(DS18B20).mix index 13437e89..c49aac1e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/07-温度计-温度传感器(DS18B20).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/07-温度计-温度传感器(DS18B20).mix @@ -1 +1 @@ -温度传感器(DS18B20)连接到杜邦口IO3、具体连接是,MINI背板朝上,温度传感器连接到上面三个杜邦口,线序是黑 、红、黄WHILETRUEtintx3TrueMixlyt0s1{}ZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgdCA9IGludChEUzE4WDIwKDMpLnRlbXBlcmF0dXJlKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyh0LHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +温度传感器(DS18B20)连接到杜邦口IO3、具体连接是,MINI背板朝上,温度传感器连接到上面三个杜邦口,线序是黑 、红、黄WHILETRUEtintx3TrueMixlyt0s1{}ZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgdCA9IGludChEUzE4WDIwKDMpLnRlbXBlcmF0dXJlKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyh0LHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/08-按键开门-180度舵机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/08-按键开门-180度舵机.mix index a3b2dd69..777e3768 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/08-按键开门-180度舵机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/08-按键开门-180度舵机.mix @@ -1 +1 @@ -舵机连接到杜邦口IO3、具体连接是,MINI背板朝上,舵机连接到上面三个杜邦口,线序是褐 、红、黄30WHILETRUEB1key390B2key30{}aW1wb3J0IHNlcnZvCmltcG9ydCBtaXhnb19taW5pCgoKc2Vydm8uc2Vydm8xODBfYW5nbGUoMywwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHNlcnZvLnNlcnZvMTgwX2FuZ2xlKDMsOTApCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc2Vydm8uc2Vydm8xODBfYW5nbGUoMywwKQo= \ No newline at end of file +舵机连接到杜邦口IO3、具体连接是,MINI背板朝上,舵机连接到上面三个杜邦口,线序是褐 、红、黄30WHILETRUEB1key390B2key30{}aW1wb3J0IHNlcnZvCmltcG9ydCBtaXhnb19taW5pCgoKc2Vydm8uc2Vydm8xODBfYW5nbGUoMywwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHNlcnZvLnNlcnZvMTgwX2FuZ2xlKDMsOTApCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc2Vydm8uc2Vydm8xODBfYW5nbGUoMywwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/09-开关LED灯-USB LED灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/09-开关LED灯-USB LED灯.mix index 36febd10..9c8e9922 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/09-开关LED灯-USB LED灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/09-开关LED灯-USB LED灯.mix @@ -1 +1 @@ -迷你USB LED灯接到U110WHILETRUEB1key130B2key10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfYm90LnVzYmVuKDEsMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDMwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfYm90LnVzYmVuKDEsMCkK \ No newline at end of file +迷你USB LED灯接到U110WHILETRUEB1key130B2key10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfYm90LnVzYmVuKDEsMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDMwKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfYm90LnVzYmVuKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/10-开关风扇-USB 风扇.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/10-开关风扇-USB 风扇.mix index 2870dca4..4555621d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/10-开关风扇-USB 风扇.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/10-开关风扇-USB 风扇.mix @@ -1 +1 @@ -迷你USB 风扇灯接到U110WHILETRUEB1key1100B2key10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfYm90LnVzYmVuKDEsMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDEwMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDApCg== \ No newline at end of file +迷你USB 风扇灯接到U110WHILETRUEB1key1100B2key10{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgbWl4Z29fbWluaQoKCm9uYm9hcmRfYm90LnVzYmVuKDEsMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDEwMCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/11-语音控制灯-语音识别块.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/11-语音控制灯-语音识别块.mix index 999a9207..c22f905f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/11-语音控制灯-语音识别块.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/11-语音控制灯-语音识别块.mix @@ -1 +1 @@ -i2c_extend34100000CI130Xi2c_extendxsensorWHILETRUExsensor23xsensor112124xsensor1020{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNpMTMweApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKaTJjX2V4dGVuZCA9IG1hY2hpbmUuU29mdEkyQyhzY2wgPSBtYWNoaW5lLlBpbigzKSwgc2RhPW1hY2hpbmUuUGluKDQpLCBmcmVxPTEwMDAwMCkKeHNlbnNvciA9IGNpMTMweC5DSTEzMFgoaTJjX2V4dGVuZCkKd2hpbGUgVHJ1ZToKICAgIHhzZW5zb3IuY21kX2lkKCkKICAgIGlmIHhzZW5zb3IucmVzdWx0KDIzKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgeHNlbnNvci5yZXN1bHQoMjQpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +i2c_extend34100000CI130Xi2c_extendxsensorWHILETRUExsensor23xsensor112124xsensor1020{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNpMTMweApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKaTJjX2V4dGVuZCA9IG1hY2hpbmUuU29mdEkyQyhzY2wgPSBtYWNoaW5lLlBpbigzKSwgc2RhPW1hY2hpbmUuUGluKDQpLCBmcmVxPTEwMDAwMCkKeHNlbnNvciA9IGNpMTMweC5DSTEzMFgoaTJjX2V4dGVuZCkKd2hpbGUgVHJ1ZToKICAgIHhzZW5zb3IuY21kX2lkKCkKICAgIGlmIHhzZW5zb3IucmVzdWx0KDIzKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgeHNlbnNvci5yZXN1bHQoMjQpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/12-植物伴侣-土壤湿度传感器.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/12-植物伴侣-土壤湿度传感器.mix index 5e6f7e10..ad5b39e0 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/12-植物伴侣-土壤湿度传感器.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/外设使用示例/12-植物伴侣-土壤湿度传感器.mix @@ -1 +1 @@ -adc44machine.ADC.ATTN_11DBadc4biaoqing[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,0,0,1,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUELTLT20000xadc440000onboard_matrix.HEARTbiaoqing0LTLT1000xadc420000onboard_matrix.HEARTbiaoqing1LTLT40000xadc460000onboard_matrix.HEARTbiaoqing2s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmFkYzQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbig0KSkKYWRjNC5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCmJpYW9xaW5nPSAoYnl0ZWFycmF5KGInXHgwMFx4MDRceDAyXHgyMlx4NDRceDgwXHg4MFx4NDRceDIyXHgwMlx4MDRceDAwJyksIGJ5dGVhcnJheShiJ1x4MDBceDA0XHgwNlx4MDZceDI0XHg0MFx4NDBceDI0XHgwNlx4MDZceDA0XHgwMCcpLCBieXRlYXJyYXkoYidceDAwXHgwNFx4MGNceDBjXHg0NFx4MjBceDIwXHg0NFx4MGNceDBjXHgwNFx4MDAnKSkKd2hpbGUgVHJ1ZToKICAgIGlmIDIwMDAwIDwgYWRjNC5yZWFkX3UxNigpIDwgNDAwMDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMF0pCiAgICBlbGlmIDEwMDAgPCBhZGM0LnJlYWRfdTE2KCkgPCAyMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhiaWFvcWluZ1sxXSkKICAgIGVsaWYgNDAwMDAgPCBhZGM0LnJlYWRfdTE2KCkgPCA2MDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhiaWFvcWluZ1syXSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +adc44machine.ADC.ATTN_11DBadc4biaoqing[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,0,0,1,0,0,1,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,1,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]][[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,0,0,1,1,1,1,0],[0,0,1,1,0,0,0,0,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,1,1,0,0,0,0,0],[0,0,0,0,1,0,0,1,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUELTLT20000xadc440000onboard_matrix.HEARTbiaoqing0LTLT1000xadc420000onboard_matrix.HEARTbiaoqing1LTLT40000xadc460000onboard_matrix.HEARTbiaoqing2s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCmFkYzQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbig0KSkKYWRjNC5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCmJpYW9xaW5nPSAoYnl0ZWFycmF5KGInXHgwMFx4MDRceDAyXHgyMlx4NDRceDgwXHg4MFx4NDRceDIyXHgwMlx4MDRceDAwJyksIGJ5dGVhcnJheShiJ1x4MDBceDA0XHgwNlx4MDZceDI0XHg0MFx4NDBceDI0XHgwNlx4MDZceDA0XHgwMCcpLCBieXRlYXJyYXkoYidceDAwXHgwNFx4MGNceDBjXHg0NFx4MjBceDIwXHg0NFx4MGNceDBjXHgwNFx4MDAnKSkKd2hpbGUgVHJ1ZToKICAgIGlmIDIwMDAwIDwgYWRjNC5yZWFkX3UxNigpIDwgNDAwMDA6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYmlhb3FpbmdbMF0pCiAgICBlbGlmIDEwMDAgPCBhZGM0LnJlYWRfdTE2KCkgPCAyMDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhiaWFvcWluZ1sxXSkKICAgIGVsaWYgNDAwMDAgPCBhZGM0LnJlYWRfdTE2KCkgPCA2MDAwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhiaWFvcWluZ1syXSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix index 68dd5638..15797971 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix @@ -1 +1 @@ -clienttopicmsg显示消息mixly_z31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0显示消息methodWHILETRUEMixly显示消息method显示消息显示消息msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5pi+56S65raI5oGvCiAgICDmmL7npLrmtojmga8gPSBtc2cKCgoK5pi+56S65raI5oGvID0gJycKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHlfejMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65raI5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrmtojmga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCjmmL7npLrmtojmga8pCg== \ No newline at end of file +clienttopicmsg显示消息mixly_z31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0显示消息methodWHILETRUEMixly显示消息method显示消息显示消息msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5pi+56S65raI5oGvCiAgICDmmL7npLrmtojmga8gPSBtc2cKCgoK5pi+56S65raI5oGvID0gJycKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHlfejMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65raI5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrmtojmga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCjmmL7npLrmtojmga8pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix index 800f1fcb..0472e0cc 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix @@ -1 +1 @@ -WHILETRUE18031800,1,2,31800-1i180is0.010300,1,2,301801i180is0.005{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT0xODApCiAgICBmb3IgaSBpbiByYW5nZSgxODAsIDAsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT1pKQogICAgICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIG9uYm9hcmRfbWF0cml4LnBvaW50ZXJuKGFuZ2xlPTApCiAgICBmb3IgaSBpbiByYW5nZSgwLCAxODAsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBvaW50ZXJuKGFuZ2xlPWkpCiAgICAgICAgdGltZS5zbGVlcCgwLjAwNSkK \ No newline at end of file +WHILETRUE18031800,1,2,31800-1i180is0.010300,1,2,301801i180is0.005{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT0xODApCiAgICBmb3IgaSBpbiByYW5nZSgxODAsIDAsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT1pKQogICAgICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIG9uYm9hcmRfbWF0cml4LnBvaW50ZXJuKGFuZ2xlPTApCiAgICBmb3IgaSBpbiByYW5nZSgwLCAxODAsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBvaW50ZXJuKGFuZ2xlPWkpCiAgICAgICAgdGltZS5zbGVlcCgwLjAwNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix index 826b30c9..1205c4f9 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix @@ -1 +1 @@ -mylist2029118106,19921539,3,4,5WHILETRUEidNEQid659100Mixlyidinid0,1,2,3mylistonboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_OPENs2onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm15bGlzdCA9IFsyMDI5MTE4MTA2LDE5OTIxNTM5LDMsNCw1XQp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludChpZDIpCiAgICAgICAgaWYgaWQyIGluIG15bGlzdDoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOSU5HKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQogICAgICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCg== \ No newline at end of file +mylist2029118106,19921539,3,4,5WHILETRUEidNEQid659100Mixlyidinid0,1,2,3mylistonboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_OPENs2onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm15bGlzdCA9IFsyMDI5MTE4MTA2LDE5OTIxNTM5LDMsNCw1XQp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludChpZDIpCiAgICAgICAgaWYgaWQyIGluIG15bGlzdDoKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOSU5HKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQogICAgICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix index 2aee780f..eec863a3 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix @@ -1 +1 @@ -mylist2029118106,15414107106,19921539,4,5WHILETRUEidNEQid659100Mixlyidinid0,1,2,3mylist659100onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_OPENs3onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm15bGlzdCA9IFsyMDI5MTE4MTA2LDE1NDE0MTA3MTA2LDE5OTIxNTM5LDQsNV0Kd2hpbGUgVHJ1ZToKICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBpZDIgIT0gTm9uZToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIGlmIGlkMiBpbiBteWxpc3Q6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOSU5HKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQogICAgICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCg== \ No newline at end of file +mylist2029118106,15414107106,19921539,4,5WHILETRUEidNEQid659100Mixlyidinid0,1,2,3mylist659100onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_OPENs3onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm15bGlzdCA9IFsyMDI5MTE4MTA2LDE1NDE0MTA3MTA2LDE5OTIxNTM5LDQsNV0Kd2hpbGUgVHJ1ZToKICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBpZDIgIT0gTm9uZToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIGlmIGlkMiBpbiBteWxpc3Q6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOSU5HKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQogICAgICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix index 965fe236..78b4398d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix @@ -1 +1 @@ -mydict2029118106202911810719921539小米小思小齐WHILETRUEidNEQidMixlyidinid0,1,2,3mydict659100onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_OPENMixlymydictkeyid0onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm15ZGljdD0gezIwMjkxMTgxMDY6J+Wwj+exsycsIDIwMjkxMTgxMDc6J+Wwj+aAnScsIDE5OTIxNTM5OiflsI/pvZAnfQp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIHByaW50KGlkMikKICAgICAgICBpZiBpZDIgaW4gbXlkaWN0LmtleXMoKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU5JTkcpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChteWRpY3QuZ2V0KGlkMiwwKSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOSU5HKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9DTE9TRSkK \ No newline at end of file +mydict2029118106202911810719921539小米小思小齐WHILETRUEidNEQidMixlyidinid0,1,2,3mydict659100onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_OPENMixlymydictkeyid0onboard_matrix.DOOR_OPENINGs0.5onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCm15ZGljdD0gezIwMjkxMTgxMDY6J+Wwj+exsycsIDIwMjkxMTgxMDc6J+Wwj+aAnScsIDE5OTIxNTM5OiflsI/pvZAnfQp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIHByaW50KGlkMikKICAgICAgICBpZiBpZDIgaW4gbXlkaWN0LmtleXMoKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU5JTkcpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChteWRpY3QuZ2V0KGlkMiwwKSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOSU5HKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9DTE9TRSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix index 88e0117d..e6254064 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示门铃methodWHILETRUEmethodEQmsg1onboard_music.BA_DING{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfpl6jpk4MnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+mXqOmTgycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示门铃methodWHILETRUEmethodEQmsg1onboard_music.BA_DING{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfpl6jpk4MnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+mXqOmTgycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix index a3a52021..3ff9b88d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix @@ -1 +1 @@ -timmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上timPERIODICtim50000tim_callbackWHILETRUEB1keyBell有人按门铃tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K6+5aSH54q25oCBJywgJ+WcqOe6vycpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdCZWxsJywgJ+acieS6uuaMiemXqOmTgycpCg== \ No newline at end of file +timmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上timPERIODICtim50000tim_callbackWHILETRUEB1keyBell有人按门铃tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K6+5aSH54q25oCBJywgJ+WcqOe6vycpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdCZWxsJywgJ+acieS6uuaMiemXqOmTgycpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix index 01189bd4..8eb08c08 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示BellmethodWHILETRUEmethodEQmsg有人按门铃TrueDD0s1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ+acieS6uuaMiemXqOmTgyc6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0REJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0JlbGwnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0JlbGwnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示BellmethodWHILETRUEmethodEQmsg有人按门铃TrueDD0s1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ+acieS6uuaMiemXqOmTgyc6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ0REJyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0JlbGwnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0JlbGwnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix index 1d9fbc33..bac7776a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix @@ -1 +1 @@ -clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上BellmethodWHILETRUEmethodEQmsg有人按门铃TrueDD0onboard_music.BA_DING{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICfmnInkurrmjInpl6jpk4MnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdERCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnQmVsbCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnQmVsbCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上BellmethodWHILETRUEmethodEQmsg有人按门铃TrueDD0onboard_music.BA_DING{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICfmnInkurrmjInpl6jpk4MnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdERCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnQmVsbCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnQmVsbCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix index 24c97cfa..85faaee2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix @@ -1 +1 @@ -clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上DoormethodWHILETRUEmethodEQmsgopenonboard_matrix.DOOR_OPEN3180s330onboard_matrix.DOOR_CLOSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ29wZW4nOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTikKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9DTE9TRSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdEb29yJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdEb29yJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file +clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上DoormethodWHILETRUEmethodEQmsgopenonboard_matrix.DOOR_OPEN3180s330onboard_matrix.DOOR_CLOSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ29wZW4nOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTikKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9DTE9TRSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdEb29yJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdEb29yJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix index e0d2e610..a5d4d9b1 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix @@ -1 +1 @@ -clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上facemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictmydictididmydictidnamemydictidfaceProbability{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChteWRpY3RbJ2lkJ10sIG15ZGljdFsnbmFtZSddLCBteWRpY3RbJ2ZhY2VQcm9iYWJpbGl0eSddKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdtaXhseScsJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAnbWl4bHlAYm51LmNvbS/lhavlubTnuqfkuIovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdtaXhseUBibnUuY29tJywgJzQ2MTc4NTcwNWZiN2EzNGJlZTFkNWFiZTBhZThlMThjJywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上facemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictmydictididmydictidnamemydictidfaceProbability{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChteWRpY3RbJ2lkJ10sIG15ZGljdFsnbmFtZSddLCBteWRpY3RbJ2ZhY2VQcm9iYWJpbGl0eSddKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdtaXhseScsJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAnbWl4bHlAYm51LmNvbS/lhavlubTnuqfkuIovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdtaXhseUBibnUuY29tJywgJzQ2MTc4NTcwNWZiN2EzNGJlZTFkNWFiZTBhZThlMThjJywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix index bee1462a..464975ce 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix @@ -1 +1 @@ -clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上facemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgmydictididmydictidfaceProbabilityGTfloatxmydictidfaceProbability0.8onboard_matrix.DOOR_OPENs2onboard_matrix.DOOR_CLOSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIHByaW50KG15ZGljdFsnaWQnXSwgbXlkaWN0WydmYWNlUHJvYmFiaWxpdHknXSkKICAgIGlmIGZsb2F0KG15ZGljdFsnZmFjZVByb2JhYmlsaXR5J10pID4gMC44OgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTikKICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9DTE9TRSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file +clienttopicmsgmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上facemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgmydictididmydictidfaceProbabilityGTfloatxmydictidfaceProbability0.8onboard_matrix.DOOR_OPENs2onboard_matrix.DOOR_CLOSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIHByaW50KG15ZGljdFsnaWQnXSwgbXlkaWN0WydmYWNlUHJvYmFiaWxpdHknXSkKICAgIGlmIGZsb2F0KG15ZGljdFsnZmFjZVByb2JhYmlsaXR5J10pID4gMC44OgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTikKICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9DTE9TRSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix index 8f0f5bf7..2801b19f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix @@ -1 +1 @@ -clienttopicmsgfuhhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示facemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictMixlymydictidname{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIHByaW50KG15ZGljdCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChteWRpY3RbJ25hbWUnXSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVoaHVhMycsJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcv6YCa55So5ryU56S6LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnZmFjZScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnZmFjZScpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示facemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictMixlymydictidname{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIHByaW50KG15ZGljdCkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChteWRpY3RbJ25hbWUnXSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVoaHVhMycsJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcv6YCa55So5ryU56S6LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnZmFjZScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnZmFjZScpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix index 4a35db35..57448a78 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix @@ -1 +1 @@ -mixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上WHILETRUE空气温度msg光照强度msg花盆角度msg[0]s5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+epuuawlOa4qeW6picsIG9uYm9hcmRfdGVtcGVyYXR1cmUoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFp+W8uuW6picsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iKseebhuinkuW6picsIG9uYm9hcmRfYWNjLmV1bGVyYW5nbGVzKClbMF0pCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file +mixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上WHILETRUE空气温度msg光照强度msg花盆角度msg[0]s5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+epuuawlOa4qeW6picsIG9uYm9hcmRfdGVtcGVyYXR1cmUoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFp+W8uuW6picsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iKseebhuinkuW6picsIG9uYm9hcmRfYWNjLmV1bGVyYW5nbGVzKClbMF0pCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix index c813785b..7ef3a2b2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix @@ -1 +1 @@ -fuhua31234567890Weather_dailySVa3S0UKHIy9dDArs北京3Mixlynone1Mixlynone2Mixlynone3{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKaW1wb3J0IG1hY2hpbmUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKV2VhdGhlcl9kYWlseS5yZXF1ZXN0KCdTVmEzUzBVS0hJeTlkREFycycsJ+WMl+S6rCcsMykKcHJpbnQoV2VhdGhlcl9kYWlseS5hbmFseXNpcygpKQpwcmludChXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKCkpCnByaW50KFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoKSkK \ No newline at end of file +fuhua31234567890Weather_dailySVa3S0UKHIy9dDArs北京3Mixlynone1Mixlynone2Mixlynone3{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKaW1wb3J0IG1hY2hpbmUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKV2VhdGhlcl9kYWlseS5yZXF1ZXN0KCdTVmEzUzBVS0hJeTlkREFycycsJ+WMl+S6rCcsMykKcHJpbnQoV2VhdGhlcl9kYWlseS5hbmFseXNpcygpKQpwcmludChXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKCkpCnByaW50KFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix index 87606cd0..a125c614 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix @@ -1 +1 @@ -mixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上WHILETRUEs5花盆环境msg"空气温度""光照强度""花盆角度"[0]{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3RlbXBlcmF0dXJlCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfoirHnm4bnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi56m65rCU5rip5bqmIjpvbmJvYXJkX3RlbXBlcmF0dXJlKCksICLlhYnnhaflvLrluqYiOm9uYm9hcmRfYWxzLmFsc192aXMoKSwgIuiKseebhuinkuW6piI6b25ib2FyZF9hY2MuZXVsZXJhbmdsZXMoKVswXX0pKQo= \ No newline at end of file +mixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上WHILETRUEs5花盆环境msg"空气温度""光照强度""花盆角度"[0]{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3RlbXBlcmF0dXJlCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfoirHnm4bnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi56m65rCU5rip5bqmIjpvbmJvYXJkX3RlbXBlcmF0dXJlKCksICLlhYnnhaflvLrluqYiOm9uYm9hcmRfYWxzLmFsc192aXMoKSwgIuiKseebhuinkuW6piI6b25ib2FyZF9hY2MuZXVsZXJhbmdsZXMoKVswXX0pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix index c9235a93..22c73951 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix @@ -1 +1 @@ -weather多云,小雨hum_min25hum_max60hum_now0WHILETRUEhum_now50-1001000100GThum_nowhum_maxonboard_matrix.NOGThum_nowhum_minGTHello,mixlyweather-1onboard_matrix.NOonboard_matrix.YESGT10hum_min25hum_min20onboard_matrix.YES{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgp3ZWF0aGVyID0gJ+WkmuS6ke+8jOWwj+mbqCcKaHVtX21pbiA9IDI1Cmh1bV9tYXggPSA2MApodW1fbm93ID0gMAp3aGlsZSBUcnVlOgogICAgaHVtX25vdyA9IChtYXRoX21hcChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpLCAoLTEwMCksIDEwMCwgMCwgMTAwKSkKICAgIGlmIGh1bV9ub3cgPiBodW1fbWF4OgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgZWxpZiBodW1fbm93ID4gaHVtX21pbjoKICAgICAgICBpZiB3ZWF0aGVyLmZpbmQoJ+mbqCcpID4gLTE6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICBpZiBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPiAxMDoKICAgICAgICAgICAgaHVtX21pbiA9IDI1CiAgICAgICAgZWxzZToKICAgICAgICAgICAgaHVtX21pbiA9IDIwCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykK \ No newline at end of file +weather多云,小雨hum_min25hum_max60hum_now0WHILETRUEhum_now50-1001000100GThum_nowhum_maxonboard_matrix.NOGThum_nowhum_minGTHello,mixlyweather-1onboard_matrix.NOonboard_matrix.YESGT10hum_min25hum_min20onboard_matrix.YES{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgp3ZWF0aGVyID0gJ+WkmuS6ke+8jOWwj+mbqCcKaHVtX21pbiA9IDI1Cmh1bV9tYXggPSA2MApodW1fbm93ID0gMAp3aGlsZSBUcnVlOgogICAgaHVtX25vdyA9IChtYXRoX21hcChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpLCAoLTEwMCksIDEwMCwgMCwgMTAwKSkKICAgIGlmIGh1bV9ub3cgPiBodW1fbWF4OgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgZWxpZiBodW1fbm93ID4gaHVtX21pbjoKICAgICAgICBpZiB3ZWF0aGVyLmZpbmQoJ+mbqCcpID4gLTE6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykKICAgICAgICBpZiBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPiAxMDoKICAgICAgICAgICAgaHVtX21pbiA9IDI1CiAgICAgICAgZWxzZToKICAgICAgICAgICAgaHVtX21pbiA9IDIwCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LllFUykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix index 0465690f..56179d68 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix @@ -1 +1 @@ -light_min100light_max250light_now0lightset0WHILETRUElight_nowMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightset{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKbGlnaHRfbWluID0gMTAwCmxpZ2h0X21heCA9IDI1MApsaWdodF9ub3cgPSAwCmxpZ2h0c2V0ID0gMAp3aGlsZSBUcnVlOgogICAgbGlnaHRfbm93ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBwcmludChsaWdodF9ub3cpCiAgICBpZiBsaWdodF9ub3cgPiBsaWdodF9tYXg6CiAgICAgICAgbGlnaHRzZXQgLT0gMQogICAgZWxpZiBsaWdodF9ub3cgPCBsaWdodF9taW46CiAgICAgICAgbGlnaHRzZXQgKz0gMQogICAgZWxzZToKICAgICAgICBwYXNzCiAgICBvbmJvYXJkX3JnYi5maWxsKChsaWdodHNldCwgbGlnaHRzZXQsIGxpZ2h0c2V0KSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +light_min100light_max250light_now0lightset0WHILETRUElight_nowMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightset{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKbGlnaHRfbWluID0gMTAwCmxpZ2h0X21heCA9IDI1MApsaWdodF9ub3cgPSAwCmxpZ2h0c2V0ID0gMAp3aGlsZSBUcnVlOgogICAgbGlnaHRfbm93ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBwcmludChsaWdodF9ub3cpCiAgICBpZiBsaWdodF9ub3cgPiBsaWdodF9tYXg6CiAgICAgICAgbGlnaHRzZXQgLT0gMQogICAgZWxpZiBsaWdodF9ub3cgPCBsaWdodF9taW46CiAgICAgICAgbGlnaHRzZXQgKz0gMQogICAgZWxzZToKICAgICAgICBwYXNzCiAgICBvbmJvYXJkX3JnYi5maWxsKChsaWdodHNldCwgbGlnaHRzZXQsIGxpZ2h0c2V0KSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix index 2f80960f..14c3803e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix @@ -1 +1 @@ -clienttopicmsglight_min100light_max250light_now0lightset0mixly_z31234567890mixio.orgdemo@mixly.orgb81e53f441d90152cdfb9731c5db92da通用演示light_minlight_minmethodlight_maxlight_maxmethodWHILETRUElight_nowMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightsetlight_minmethodlight_minlight_minintmsgMixlylight_minlight_maxmethodlight_maxlight_maxintmsgMixlylight_max{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBsaWdodF9taW5tZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBsaWdodF9taW4KICAgIGxpZ2h0X21pbiA9IGludChtc2cpCiAgICBwcmludChsaWdodF9taW4pCgpkZWYgbGlnaHRfbWF4bWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbGlnaHRfbWF4CiAgICBsaWdodF9tYXggPSBpbnQobXNnKQogICAgcHJpbnQobGlnaHRfbWF4KQoKCgpsaWdodF9taW4gPSAxMDAKbGlnaHRfbWF4ID0gMjUwCmxpZ2h0X25vdyA9IDAKbGlnaHRzZXQgPSAwCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5vcmcnLCAnZGVtb0BtaXhseS5vcmcnLCAnYjgxZTUzZjQ0MWQ5MDE1MmNkZmI5NzMxYzVkYjkyZGEnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnbGlnaHRfbWluJyxsaWdodF9taW5tZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdsaWdodF9taW4nKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2xpZ2h0X21heCcsbGlnaHRfbWF4bWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnbGlnaHRfbWF4JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBsaWdodF9ub3cgPSBvbmJvYXJkX2Fscy5hbHNfdmlzKCkKICAgIHByaW50KGxpZ2h0X25vdykKICAgIGlmIGxpZ2h0X25vdyA+IGxpZ2h0X21heDoKICAgICAgICBsaWdodHNldCAtPSAxCiAgICBlbGlmIGxpZ2h0X25vdyA8IGxpZ2h0X21pbjoKICAgICAgICBsaWdodHNldCArPSAxCiAgICBvbmJvYXJkX3JnYi5maWxsKChsaWdodHNldCwgbGlnaHRzZXQsIGxpZ2h0c2V0KSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +clienttopicmsglight_min100light_max250light_now0lightset0mixly_z31234567890mixio.orgdemo@mixly.orgb81e53f441d90152cdfb9731c5db92da通用演示light_minlight_minmethodlight_maxlight_maxmethodWHILETRUElight_nowMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightsetlight_minmethodlight_minlight_minintmsgMixlylight_minlight_maxmethodlight_maxlight_maxintmsgMixlylight_max{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBsaWdodF9taW5tZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBsaWdodF9taW4KICAgIGxpZ2h0X21pbiA9IGludChtc2cpCiAgICBwcmludChsaWdodF9taW4pCgpkZWYgbGlnaHRfbWF4bWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbGlnaHRfbWF4CiAgICBsaWdodF9tYXggPSBpbnQobXNnKQogICAgcHJpbnQobGlnaHRfbWF4KQoKCgpsaWdodF9taW4gPSAxMDAKbGlnaHRfbWF4ID0gMjUwCmxpZ2h0X25vdyA9IDAKbGlnaHRzZXQgPSAwCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5vcmcnLCAnZGVtb0BtaXhseS5vcmcnLCAnYjgxZTUzZjQ0MWQ5MDE1MmNkZmI5NzMxYzVkYjkyZGEnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnbGlnaHRfbWluJyxsaWdodF9taW5tZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdsaWdodF9taW4nKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2xpZ2h0X21heCcsbGlnaHRfbWF4bWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnbGlnaHRfbWF4JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBsaWdodF9ub3cgPSBvbmJvYXJkX2Fscy5hbHNfdmlzKCkKICAgIHByaW50KGxpZ2h0X25vdykKICAgIGlmIGxpZ2h0X25vdyA+IGxpZ2h0X21heDoKICAgICAgICBsaWdodHNldCAtPSAxCiAgICBlbGlmIGxpZ2h0X25vdyA8IGxpZ2h0X21pbjoKICAgICAgICBsaWdodHNldCArPSAxCiAgICBvbmJvYXJkX3JnYi5maWxsKChsaWdodHNldCwgbGlnaHRzZXQsIGxpZ2h0c2V0KSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix index 333181d7..2c8cd212 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix @@ -1 +1 @@ -tim mixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上timPERIODICtim10000tim_callbackWHILETRUEGT100安全警示有人入侵s1tim_callback文物环境msg"温度""光照""触摸"{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5paH54mp546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7Iua4qeW6piI6b25ib2FyZF90ZW1wZXJhdHVyZSgpLCAi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLop6bmkbgiOm9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnIG1peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a6J5YWo6K2m56S6JywgJ+acieS6uuWFpeS+tScpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +tim mixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上timPERIODICtim10000tim_callbackWHILETRUEGT100安全警示有人入侵s1tim_callback文物环境msg"温度""光照""触摸"{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfdGVtcGVyYXR1cmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5paH54mp546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7Iua4qeW6piI6b25ib2FyZF90ZW1wZXJhdHVyZSgpLCAi5YWJ54WnIjpvbmJvYXJkX2Fscy5hbHNfdmlzKCksICLop6bmkbgiOm9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnIG1peGx5JywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdtaXhseUBibnUuY29tL+WFq+W5tOe6p+S4ii8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ21peGx5QGJudS5jb20nLCAnNDYxNzg1NzA1ZmI3YTM0YmVlMWQ1YWJlMGFlOGUxOGMnLCBNUVRUX1VTUl9QUkopCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzLnBzX25sKCkgPiAxMDA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a6J5YWo6K2m56S6JywgJ+acieS6uuWFpeS+tScpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix index 3c7fbe95..789b9a53 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix @@ -1 +1 @@ -timclienttopicmsgmixly_z31234567890mixio.orgdemo@mixly.orgb81e53f441d90152cdfb9731c5db92da通用演示timPERIODICtim10000tim_callback呼叫methodWHILETRUEGT100危险有人入侵s1methodEQmsg1onboard_music.BA_DINGtim_callback文物环境msg"温度""光照""触摸"{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3RlbXBlcmF0dXJlCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aWh+eJqeeOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLmuKnluqYiOm9uYm9hcmRfdGVtcGVyYXR1cmUoKSwgIuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi6Kem5pG4IjpvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpfSkpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5vcmcnLCAnZGVtb0BtaXhseS5vcmcnLCAnYjgxZTUzZjQ0MWQ5MDE1MmNkZmI5NzMxYzVkYjkyZGEnLCBNUVRUX1VTUl9QUkopCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflkbzlj6snLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WRvOWPqycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5pyJ5Lq65YWl5L61JykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +timclienttopicmsgmixly_z31234567890mixio.orgdemo@mixly.orgb81e53f441d90152cdfb9731c5db92da通用演示timPERIODICtim10000tim_callback呼叫methodWHILETRUEGT100危险有人入侵s1methodEQmsg1onboard_music.BA_DINGtim_callback文物环境msg"温度""光照""触摸"{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3RlbXBlcmF0dXJlCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aWh+eJqeeOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLmuKnluqYiOm9uYm9hcmRfdGVtcGVyYXR1cmUoKSwgIuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi6Kem5pG4IjpvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpfSkpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5vcmcnLCAnZGVtb0BtaXhseS5vcmcnLCAnYjgxZTUzZjQ0MWQ5MDE1MmNkZmI5NzMxYzVkYjkyZGEnLCBNUVRUX1VTUl9QUkopCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflkbzlj6snLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WRvOWPqycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5pyJ5Lq65YWl5L61JykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix index d3bd24db..5c080910 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix @@ -1 +1 @@ -timmixly_z31234567890mixio.orgdemo@mixly.orgb81e53f441d90152cdfb9731c5db92da通用演示学号0身高0timPERIODICtim60000tim_callbackWHILETRUETrue学号659100Mixlyx学号学号身高12TrueMixlyxint身高0B1key学生信息在线"学号""身高""性别"学号身高学号0B2key学生信息在线"学号""身高""性别"学号身高学号0tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBzb25hcgppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWl4cHkKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforr7lpIfnirbmgIEnLCAn5Zyo57q/JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHlfejMnLCAnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5vcmcnLCAnZGVtb0BtaXhseS5vcmcnLCAnYjgxZTUzZjQ0MWQ5MDE1MmNkZmI5NzMxYzVkYjkyZGEnLCBNUVRUX1VTUl9QUkopCuWtpuWPtyA9IDAK6Lqr6auYID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9yZmlkLnNjYW5fY2FyZCgpID09IFRydWU6CiAgICAgICAg5a2m5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cijlrablj7cpKQogICAgaWYg5a2m5Y+3OgogICAgICAgIOi6q+mrmCA9IHNvbmFyLlNvbmFyKDEsIDIpLmNoZWNrZGlzdCgpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKGludCjouqvpq5gpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a2m55Sf5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7IuWtpuWPtyI65a2m5Y+3LCAi6Lqr6auYIjrouqvpq5gsICLmgKfliKsiOifnlLcnfSkpCiAgICAgICAg5a2m5Y+3ID0gMAogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOuWtpuWPtywgIui6q+mrmCI66Lqr6auYLCAi5oCn5YirIjon5aWzJ30pKQogICAgICAgIOWtpuWPtyA9IDAK9KSkKICAgICAgICDlrablj7cgPSAwCg== \ No newline at end of file +timmixly_z31234567890mixio.orgdemo@mixly.orgb81e53f441d90152cdfb9731c5db92da通用演示学号0身高0timPERIODICtim60000tim_callbackWHILETRUETrue学号659100Mixlyx学号学号身高12TrueMixlyxint身高0B1key学生信息在线"学号""身高""性别"学号身高学号0B2key学生信息在线"学号""身高""性别"学号身高学号0tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBzb25hcgppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWl4cHkKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforr7lpIfnirbmgIEnLCAn5Zyo57q/JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHlfejMnLCAnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5vcmcnLCAnZGVtb0BtaXhseS5vcmcnLCAnYjgxZTUzZjQ0MWQ5MDE1MmNkZmI5NzMxYzVkYjkyZGEnLCBNUVRUX1VTUl9QUkopCuWtpuWPtyA9IDAK6Lqr6auYID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9yZmlkLnNjYW5fY2FyZCgpID09IFRydWU6CiAgICAgICAg5a2m5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cijlrablj7cpKQogICAgaWYg5a2m5Y+3OgogICAgICAgIOi6q+mrmCA9IHNvbmFyLlNvbmFyKDEsIDIpLmNoZWNrZGlzdCgpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKGludCjouqvpq5gpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a2m55Sf5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7IuWtpuWPtyI65a2m5Y+3LCAi6Lqr6auYIjrouqvpq5gsICLmgKfliKsiOifnlLcnfSkpCiAgICAgICAg5a2m5Y+3ID0gMAogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOuWtpuWPtywgIui6q+mrmCI66Lqr6auYLCAi5oCn5YirIjon5aWzJ30pKQogICAgICAgIOWtpuWPtyA9IDAK9KSkKICAgICAgICDlrablj7cgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix index 4d88677a..8c341bdc 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix @@ -1 +1 @@ -timfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示学号0手速0按下时刻0抬起时刻0timPERIODICtim60000tim_callbackWHILETRUETrue学号659100Mixlyx学号010学号A1key按下时刻mstrueA1key抬起时刻ms手速intMINUS1抬起时刻1按下时刻TrueMixlyx手速0B1key学生信息在线"学号""手速""性别"学号手速学号0B2key学生信息在线"学号""手速""性别"学号手速学号0tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iuvuWkh+eKtuaAgScsICflnKjnur8nKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK5a2m5Y+3ID0gMArmiYvpgJ8gPSAwCuaMieS4i+aXtuWIuyA9IDAK5oqs6LW35pe25Yi7ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9yZmlkLnNjYW5fY2FyZCgpID09IFRydWU6CiAgICAgICAg5a2m5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cijlrablj7cpLCBzcGVlZD0xMCwgc3BhY2U9MCkKICAgIGlmIOWtpuWPtzoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICDmiqzotbfml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICDmiYvpgJ8gPSBpbnQoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOaJi+mAnyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a2m55Sf5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7IuWtpuWPtyI65a2m5Y+3LCAi5omL6YCfIjrmiYvpgJ8sICLmgKfliKsiOifnlLcnfSkpCiAgICAgICAgICAgIOWtpuWPtyA9IDAKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOuWtpuWPtywgIuaJi+mAnyI65omL6YCfLCAi5oCn5YirIjon5aWzJ30pKQogICAgICAgICAgICDlrablj7cgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg==gb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file +timfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示学号0手速0按下时刻0抬起时刻0timPERIODICtim60000tim_callbackWHILETRUETrue学号659100Mixlyx学号010学号A1key按下时刻mstrueA1key抬起时刻ms手速intMINUS1抬起时刻1按下时刻TrueMixlyx手速0B1key学生信息在线"学号""手速""性别"学号手速学号0B2key学生信息在线"学号""手速""性别"学号手速学号0tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iuvuWkh+eKtuaAgScsICflnKjnur8nKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK5a2m5Y+3ID0gMArmiYvpgJ8gPSAwCuaMieS4i+aXtuWIuyA9IDAK5oqs6LW35pe25Yi7ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9yZmlkLnNjYW5fY2FyZCgpID09IFRydWU6CiAgICAgICAg5a2m5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2Nyb2xsKHN0cijlrablj7cpLCBzcGVlZD0xMCwgc3BhY2U9MCkKICAgIGlmIOWtpuWPtzoKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICBpZiAobm90IG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICDmiqzotbfml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICDmiYvpgJ8gPSBpbnQoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOaJi+mAnyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlKQogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a2m55Sf5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7IuWtpuWPtyI65a2m5Y+3LCAi5omL6YCfIjrmiYvpgJ8sICLmgKfliKsiOifnlLcnfSkpCiAgICAgICAgICAgIOWtpuWPtyA9IDAKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOuWtpuWPtywgIuaJi+mAnyI65omL6YCfLCAi5oCn5YirIjon5aWzJ30pKQogICAgICAgICAgICDlrablj7cgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCg==gb25ib2FyZF9tYXRyaXguc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix index 25a5155f..9c5789b8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix @@ -1 +1 @@ -timmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comtimPERIODICtim60000tim_callbackWHILETRUEGT30吃药时间在线{}-{}-{} {}:{}:{}mytupx0mytupx1mytupx2mytupx3mytupx4mytupx5trueLT10tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforr7lpIfnirbmgIEnLCAn5Zyo57q/JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHAuYWxpeXVuLmNvbScpKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPiAzMDoKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflkIPoja/ml7bpl7QnLCAne30te30te30ge306e306e30nLmZvcm1hdCh0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVswXSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbMV0sIHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzJdLCB0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVszXSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbNF0sIHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzVdKSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHMuYWxzX3ZpcygpIDwgMTApOgogICAgICAgICAgICAgICAgYnJlYWsK \ No newline at end of file +timmixly1234567890mixio.mixly.cnmixly@bnu.com461785705fb7a34bee1d5abe0ae8e18c八年级上2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comtimPERIODICtim60000tim_callbackWHILETRUEGT30吃药时间在线{}-{}-{} {}:{}:{}mytupx0mytupx1mytupx2mytupx3mytupx4mytupx5trueLT10tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforr7lpIfnirbmgIEnLCAn5Zyo57q/JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHknLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ21peGx5QGJudS5jb20v5YWr5bm057qn5LiKLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnbWl4bHlAYm51LmNvbScsICc0NjE3ODU3MDVmYjdhMzRiZWUxZDVhYmUwYWU4ZTE4YycsIE1RVFRfVVNSX1BSSikKcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHAuYWxpeXVuLmNvbScpKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPiAzMDoKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflkIPoja/ml7bpl7QnLCAne30te30te30ge306e306e30nLmZvcm1hdCh0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVswXSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbMV0sIHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzJdLCB0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVszXSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbNF0sIHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzVdKSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHMuYWxzX3ZpcygpIDwgMTApOgogICAgICAgICAgICAgICAgYnJlYWsK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix index c17aff19..717a95d8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix @@ -1 +1 @@ -timmixly_z31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示水果计数0设备运行FALSEtimPERIODICtim10000tim_callbackWHILETRUEB1key设备运行TRUE水果计数0TrueMixly水果计数0设备运行GT500trueLT100ADD水果计数1水果计数有人入侵水果计数TrueMixly水果计数0tim_callbackss离线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHMgPSBtcXR0X2NsaWVudC5waW5nU3luYygpCiAgICBpZiBub3QgczoKICAgICAgICBwcmludCgn56a757q/JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHlfejMnLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQrmsLTmnpzorqHmlbAgPSAwCuiuvuWkh+i/kOihjCA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDorr7lpIfov5DooYwgPSBUcnVlCiAgICAgICAg5rC05p6c6K6h5pWwID0gMAogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOawtOaenOiuoeaVsCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOiuvuWkh+i/kOihjDoKICAgICAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gNTAwOgogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCAxMDApOgogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIOawtOaenOiuoeaVsCArPSAxCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+awtOaenOiuoeaVsCcsIOawtOaenOiuoeaVsCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5rC05p6c6K6h5pWwLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file +timmixly_z31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示水果计数0设备运行FALSEtimPERIODICtim10000tim_callbackWHILETRUEB1key设备运行TRUE水果计数0TrueMixly水果计数0设备运行GT500trueLT100ADD水果计数1水果计数有人入侵水果计数TrueMixly水果计数0tim_callbackss离线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHMgPSBtcXR0X2NsaWVudC5waW5nU3luYygpCiAgICBpZiBub3QgczoKICAgICAgICBwcmludCgn56a757q/JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnbWl4bHlfejMnLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQrmsLTmnpzorqHmlbAgPSAwCuiuvuWkh+i/kOihjCA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDorr7lpIfov5DooYwgPSBUcnVlCiAgICAgICAg5rC05p6c6K6h5pWwID0gMAogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOawtOaenOiuoeaVsCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOiuvuWkh+i/kOihjDoKICAgICAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gNTAwOgogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCAxMDApOgogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIOawtOaenOiuoeaVsCArPSAxCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+awtOaenOiuoeaVsCcsIOawtOaenOiuoeaVsCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5rC05p6c6K6h5pWwLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix index 9e502686..750a34f1 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2Fscy5wc19ubCgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix index 5d3c2e15..4c4a995c 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix @@ -1 +1 @@ -Mixly{}aW1wb3J0IG1hY2hpbmUKCgpwcmludChtYWNoaW5lLnVuaXF1ZV9pZCgpKQo= \ No newline at end of file +Mixly{}aW1wb3J0IG1hY2hpbmUKCgpwcmludChtYWNoaW5lLnVuaXF1ZV9pZCgpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix index 1a8bf1ac..65c29f2a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix @@ -1 +1 @@ -WHILETRUEs0.1TrueMixlyxintx0{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKGludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file +WHILETRUEs0.1TrueMixlyxintx0{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKGludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix index 4eb655c7..089f4b5a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix @@ -1 +1 @@ -WHILETRUEMixly0,1,2,305intx500100081y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDgpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEMixly0,1,2,305intx500100081y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDgpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix index 4198ac48..2033488b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix @@ -1 +1 @@ -WHILETRUEs0.01MixlyxintxTrueMixlyxintx0{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIHByaW50KHN0cihpbnQob25ib2FyZF9ib3Quc291bmRsZXZlbCgpKSkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file +WHILETRUEs0.01MixlyxintxTrueMixlyxintx0{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIHByaW50KHN0cihpbnQob25ib2FyZF9ib3Quc291bmRsZXZlbCgpKSkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix index cc4eca9c..212b2ef2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix @@ -1 +1 @@ -WHILETRUEs0.01MixlyxintxTrueMixlyxintx0{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIHByaW50KHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file +WHILETRUEs0.01MixlyxintxTrueMixlyxintx0{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIHByaW50KHN0cihpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKSkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix index 39c1cb88..52f03fa6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix @@ -1 +1 @@ -timmixly_z31234567890mixio.org0134d6useruser1passwdpsd123timONE_SHOTtim60000tim_callbackWHILETRUEB1keyDoormsg"lock""user""passwd"openuser1psd123B2keyDoormsg"lock""user""passwd"openuser12psd123tim_callbackerror{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1peHB5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiBub3QgbXF0dF9jbGllbnQucGluZ1N5bmMoKToKICAgICAgICBwcmludCgnZXJyb3InKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdtaXhseV96MycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5vcmcvbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wMTM0ZDYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm9yZycsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp1c2VyID0gJ3VzZXIxJwpwYXNzd2QgPSAncHNkMTIzJwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5PTkVfU0hPVCwgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnRG9vcicsIG1peHB5LmZvcm1hdF9zdHIoeyJsb2NrIjonb3BlbicsICJ1c2VyIjondXNlcjEnLCAicGFzc3dkIjoncHNkMTIzJ30pKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ0Rvb3InLCBtaXhweS5mb3JtYXRfc3RyKHsibG9jayI6J29wZW4nLCAidXNlciI6J3VzZXIxMicsICJwYXNzd2QiOidwc2QxMjMnfSkpCg== \ No newline at end of file +timmixly_z31234567890mixio.org0134d6useruser1passwdpsd123timONE_SHOTtim60000tim_callbackWHILETRUEB1keyDoormsg"lock""user""passwd"openuser1psd123B2keyDoormsg"lock""user""passwd"openuser12psd123tim_callbackerror{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1peHB5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiBub3QgbXF0dF9jbGllbnQucGluZ1N5bmMoKToKICAgICAgICBwcmludCgnZXJyb3InKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdtaXhseV96MycsJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5vcmcvbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wMTM0ZDYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm9yZycsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp1c2VyID0gJ3VzZXIxJwpwYXNzd2QgPSAncHNkMTIzJwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5PTkVfU0hPVCwgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnRG9vcicsIG1peHB5LmZvcm1hdF9zdHIoeyJsb2NrIjonb3BlbicsICJ1c2VyIjondXNlcjEnLCAicGFzc3dkIjoncHNkMTIzJ30pKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ0Rvb3InLCBtaXhweS5mb3JtYXRfc3RyKHsibG9jayI6J29wZW4nLCAidXNlciI6J3VzZXIxMicsICJwYXNzd2QiOidwc2QxMjMnfSkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix index f9dbda17..f510fdfc 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix @@ -1 +1 @@ -clienttopicmsgmixly_z31234567890mixio.org0134d6useruser1passwdpsd123DoormethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgANDEQmydictuseruser1EQmydictpasswdpsd123Mixlymydictlockonboard_matrix.NO{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IGpzb24KZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBpZiBteWRpY3RbJ3VzZXInXSA9PSAndXNlcjEnIGFuZCBteWRpY3RbJ3Bhc3N3ZCddID09ICdwc2QxMjMnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChteWRpY3RbJ2xvY2snXSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm9yZy9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTAxMzRkNicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ub3JnJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCnVzZXIgPSAndXNlcjEnCnBhc3N3ZCA9ICdwc2QxMjMnCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnRG9vcicsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnRG9vcicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgmixly_z31234567890mixio.org0134d6useruser1passwdpsd123DoormethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgANDEQmydictuseruser1EQmydictpasswdpsd123Mixlymydictlockonboard_matrix.NO{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IGpzb24KZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBpZiBteWRpY3RbJ3VzZXInXSA9PSAndXNlcjEnIGFuZCBteWRpY3RbJ3Bhc3N3ZCddID09ICdwc2QxMjMnOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChteWRpY3RbJ2xvY2snXSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm9yZy9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTAxMzRkNicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ub3JnJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCnVzZXIgPSAndXNlcjEnCnBhc3N3ZCA9ICdwc2QxMjMnCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnRG9vcicsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnRG9vcicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix index a9512e2c..ace8373a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix @@ -1 +1 @@ -WHILETRUEANDGT100LT2011s110{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9ib3Quc291bmRsZXZlbCgpID4gMTAwIGFuZCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPCAyMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +WHILETRUEANDGT100LT2011s110{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9ib3Quc291bmRsZXZlbCgpID4gMTAwIGFuZCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPCAyMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix index 5342ab31..34d2c301 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix @@ -1 +1 @@ -fuhua31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0WHILETRUEs5光照msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCg== \ No newline at end of file +fuhua31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0WHILETRUEs5光照msg{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9hbHMKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKb25ib2FyZF9tYXRyaXguc2hvd3MoJ1dPJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy/pgJrnlKjmvJTnpLovJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKb25ib2FyZF9tYXRyaXguc2hvd3MoJ01PJyxzcGFjZSA9IDAsY2VudGVyID0gRmFsc2UpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix index 83cb5ab1..3e444968 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0开灯methodWHILETRUEmethodEQmsg111EQmsg010{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0开灯methodWHILETRUEmethodEQmsg111EQmsg010{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix index 5f0243dd..ef6b6353 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix @@ -1 +1 @@ -clienttopicmsgtimfuhua31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0timPERIODICtim5000tim_callback开灯methodWHILETRUEmethodEQmsg11121EQmsg01020tim_callback环境msg"温度""光照""触摸"{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF90ZW1wZXJhdHVyZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+eOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLmuKnluqYiOm9uYm9hcmRfdGVtcGVyYXR1cmUoKSwgIuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi6Kem5pG4IjpvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpfSkpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgtimfuhua31234567890FalseWO0mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0timPERIODICtim5000tim_callback开灯methodWHILETRUEmethodEQmsg11121EQmsg01020tim_callback环境msg"温度""光照""触摸"{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF90ZW1wZXJhdHVyZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+eOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLmuKnluqYiOm9uYm9hcmRfdGVtcGVyYXR1cmUoKSwgIuWFieeFpyI6b25ib2FyZF9hbHMuYWxzX3ZpcygpLCAi6Kem5pG4IjpvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpfSkpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX21hdHJpeC5zaG93cygnV08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL+mAmueUqOa8lOekui8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX21hdHJpeC5zaG93cygnTU8nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-1 有线翻页演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-1 有线翻页演示.mix index 08514bdd..96130af6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-1 有线翻页演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-1 有线翻页演示.mix @@ -1 +1 @@ -WHILETRUEGTstrength3True0x000x4Es0.2{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLnN0cmVuZ3RoKCkgPiAzOgogICAgICAgIG9uYm9hcmRfYm90LmhpZF9rZXlib2FyZCgweDAwLDB4NEUsVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file +WHILETRUEGTstrength3True0x000x4Es0.2{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLnN0cmVuZ3RoKCkgPiAzOgogICAgICAgIG9uYm9hcmRfYm90LmhpZF9rZXlib2FyZCgweDAwLDB4NEUsVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-2 无线翻页演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-2 无线翻页演示.mix index 81eddc9c..dcefd385 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-2 无线翻页演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-2-2 无线翻页演示.mix @@ -1 +1 @@ -1TrueWHILETRUEGTstrength3PAGE_DOWNs0.2PAGE_DOWNTrue0x000x4E{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmhhbmRsZV9saXN0PVtdCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZGVmIEVTUE5vd19yYWRpb19yZWN2X19QQUdFX0RPV04obWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9ib3QuaGlkX2tleWJvYXJkKDB4MDAsMHg0RSxUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19QQUdFX0RPV04gaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1BBR0VfRE9XTikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLnN0cmVuZ3RoKCkgPiAzOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdQQUdFX0RPV04nKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file +1TrueWHILETRUEGTstrength3PAGE_DOWNs0.2PAGE_DOWNTrue0x000x4E{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmhhbmRsZV9saXN0PVtdCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9ib3QKZGVmIEVTUE5vd19yYWRpb19yZWN2X19QQUdFX0RPV04obWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9ib3QuaGlkX2tleWJvYXJkKDB4MDAsMHg0RSxUcnVlKQoKaWYgbm90IEVTUE5vd19yYWRpb19yZWN2X19QQUdFX0RPV04gaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3ZfX1BBR0VfRE9XTikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLnN0cmVuZ3RoKCkgPiAzOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdQQUdFX0RPV04nKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix index df22879d..c450a6ff 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix @@ -1 +1 @@ -mixlyWHILETRUEB1keyTrue0x000x4EB2keyTrue0x000x4B{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZAppbXBvcnQgbWl4Z29fbWluaQoKCmJsZV9rZXlib2FyZD1LZXlib2FyZCgnbWl4bHknKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2tleWJvYXJkLmlzX2Nvbm5lY3RlZCgpOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwMCwweDRFLFRydWUpCiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfa2V5Ym9hcmQubm90aWZ5X2hpZCgweDAwLDB4NEIsVHJ1ZSkK \ No newline at end of file +mixlyWHILETRUEB1keyTrue0x000x4EB2keyTrue0x000x4B{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZAppbXBvcnQgbWl4Z29fbWluaQoKCmJsZV9rZXlib2FyZD1LZXlib2FyZCgnbWl4bHknKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2tleWJvYXJkLmlzX2Nvbm5lY3RlZCgpOgogICAgICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwMCwweDRFLFRydWUpCiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfa2V5Ym9hcmQubm90aWZ5X2hpZCgweDAwLDB4NEIsVHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix index 74379241..70edaa05 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix @@ -1 +1 @@ -fuhua31234567890responsegethttps://mixio.mixly.cn/api/v1/getData?user=@4DDJ53C9&password=MixIO_public&project=default&topic=%E5%85%89%E7%85%A7&num=10stextresponseMixlys{}aW1wb3J0IG1peGlvdAppbXBvcnQgdXJlcXVlc3RzCmltcG9ydCBtYWNoaW5lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnJlc3BvbnNlID0gdXJlcXVlc3RzLmdldCgnaHR0cHM6Ly9taXhpby5taXhseS5jbi9hcGkvdjEvZ2V0RGF0YT91c2VyPUA0RERKNTNDOSZwYXNzd29yZD1NaXhJT19wdWJsaWMmcHJvamVjdD1kZWZhdWx0JnRvcGljPSVFNSU4NSU4OSVFNyU4NSVBNyZudW09MTAnKQpzID0gcmVzcG9uc2UudGV4dApwcmludChzKQo= \ No newline at end of file +fuhua31234567890responsegethttps://mixio.mixly.cn/api/v1/getData?user=@4DDJ53C9&password=MixIO_public&project=default&topic=%E5%85%89%E7%85%A7&num=10stextresponseMixlys{}aW1wb3J0IG1peGlvdAppbXBvcnQgdXJlcXVlc3RzCmltcG9ydCBtYWNoaW5lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnJlc3BvbnNlID0gdXJlcXVlc3RzLmdldCgnaHR0cHM6Ly9taXhpby5taXhseS5jbi9hcGkvdjEvZ2V0RGF0YT91c2VyPUA0RERKNTNDOSZwYXNzd29yZD1NaXhJT19wdWJsaWMmcHJvamVjdD1kZWZhdWx0JnRvcGljPSVFNSU4NSU4OSVFNyU4NSVBNyZudW09MTAnKQpzID0gcmVzcG9uc2UudGV4dApwcmludChzKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix index 7f36646f..8c33edf4 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix @@ -1 +1 @@ -mixly_z31234567890HTTPTruehttps://mixio.mixly.cn/time.phpMixlyclient_lenMixlyserver_lenMixlytextMQTTTruemixio.mixly.cnMixlyclient_lenMixlyserver_lenMixlytime_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgZGVidWduZXQKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdtaXhseV96MycsJzEyMzQ1Njc4OTAnKQpwcmludCgnSFRUUCcpCkhUVFBfY2xpZW50ID0gZGVidWduZXQucmVxdWVzdCgiR0VUIiwnaHR0cDovL21peGlvLm1peGx5Lm9yZy90aW1lLnBocCcsZGVidWc9VHJ1ZSkKcHJpbnQoSFRUUF9jbGllbnQuY2xpZW50X2xlbikKcHJpbnQoSFRUUF9jbGllbnQuc2VydmVyX2xlbikKcHJpbnQoSFRUUF9jbGllbnQudGV4dCkKcHJpbnQoJ01RVFQnKQptcXR0X2NsaWVudCA9IGRlYnVnbmV0LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCAiTWl4SU8vM1FCQUdLUkwvZGVmYXVsdC8iLGRlYnVnPVRydWUpCm1xdHRfY2xpZW50LnN1YnNjcmliZSgiJFNZUy9oZWxsbyIpCnByaW50KG1xdHRfY2xpZW50LmNsaWVudF9sZW4pCnByaW50KG1xdHRfY2xpZW50LnNlcnZlcl9sZW4pCnByaW50KG1xdHRfY2xpZW50LnRpbWVfbXNnKCkpCg== \ No newline at end of file +mixly_z31234567890HTTPTruehttps://mixio.mixly.cn/time.phpMixlyclient_lenMixlyserver_lenMixlytextMQTTTruemixio.mixly.cnMixlyclient_lenMixlyserver_lenMixlytime_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgZGVidWduZXQKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdtaXhseV96MycsJzEyMzQ1Njc4OTAnKQpwcmludCgnSFRUUCcpCkhUVFBfY2xpZW50ID0gZGVidWduZXQucmVxdWVzdCgiR0VUIiwnaHR0cDovL21peGlvLm1peGx5Lm9yZy90aW1lLnBocCcsZGVidWc9VHJ1ZSkKcHJpbnQoSFRUUF9jbGllbnQuY2xpZW50X2xlbikKcHJpbnQoSFRUUF9jbGllbnQuc2VydmVyX2xlbikKcHJpbnQoSFRUUF9jbGllbnQudGV4dCkKcHJpbnQoJ01RVFQnKQptcXR0X2NsaWVudCA9IGRlYnVnbmV0LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCAiTWl4SU8vM1FCQUdLUkwvZGVmYXVsdC8iLGRlYnVnPVRydWUpCm1xdHRfY2xpZW50LnN1YnNjcmliZSgiJFNZUy9oZWxsbyIpCnByaW50KG1xdHRfY2xpZW50LmNsaWVudF9sZW4pCnByaW50KG1xdHRfY2xpZW50LnNlcnZlcl9sZW4pCnByaW50KG1xdHRfY2xpZW50LnRpbWVfbXNnKCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix index d0799588..5fcfd2a2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONs0.01{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file +WHILETRUE0,1,2,30121x0,1,2,3081y0x0yONs0.01{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMiwgMSk6CiAgICAgICAgZm9yIHkgaW4gcmFuZ2UoMCwgOCwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix index cd4621b9..e56a5f63 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix @@ -1 +1 @@ -亮度目标100RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度LT当前亮度MINUS1亮度目标5ADDaRGB亮度1GT当前亮度ADD1亮度目标5MINUSaRGB亮度1Mixly当前亮度s0.01{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgoKX0U0X0JBX0FFX0U1X0JBX0E2X0U3XzlCX0FFX0U2X0EwXzg3ID0gMTAwClJHQl9FNF9CQV9BRV9FNV9CQV9BNiA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKFJHQl9FNF9CQV9BRV9FNV9CQV9BNiwgUkdCX0U0X0JBX0FFX0U1X0JBX0E2LCBSR0JfRTRfQkFfQUVfRTVfQkFfQTYpKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgX0U1X0JEXzkzX0U1Xzg5XzhEX0U0X0JBX0FFX0U1X0JBX0E2ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBpZiBfRTVfQkRfOTNfRTVfODlfOERfRTRfQkFfQUVfRTVfQkFfQTYgPCBfRTRfQkFfQUVfRTVfQkFfQTZfRTdfOUJfQUVfRTZfQTBfODcgLSA1OgogICAgICAgIFJHQl9FNF9CQV9BRV9FNV9CQV9BNiArPSAxCiAgICBlbGlmIF9FNV9CRF85M19FNV84OV84RF9FNF9CQV9BRV9FNV9CQV9BNiA+IF9FNF9CQV9BRV9FNV9CQV9BNl9FN185Ql9BRV9FNl9BMF84NyArIDU6CiAgICAgICAgUkdCX0U0X0JBX0FFX0U1X0JBX0E2IC09IDEKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoX0U1X0JEXzkzX0U1Xzg5XzhEX0U0X0JBX0FFX0U1X0JBX0E2KQogICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file +亮度目标100RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度LT当前亮度MINUS1亮度目标5ADDaRGB亮度1GT当前亮度ADD1亮度目标5MINUSaRGB亮度1Mixly当前亮度s0.01{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgoKX0U0X0JBX0FFX0U1X0JBX0E2X0U3XzlCX0FFX0U2X0EwXzg3ID0gMTAwClJHQl9FNF9CQV9BRV9FNV9CQV9BNiA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiLmZpbGwoKFJHQl9FNF9CQV9BRV9FNV9CQV9BNiwgUkdCX0U0X0JBX0FFX0U1X0JBX0E2LCBSR0JfRTRfQkFfQUVfRTVfQkFfQTYpKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgX0U1X0JEXzkzX0U1Xzg5XzhEX0U0X0JBX0FFX0U1X0JBX0E2ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBpZiBfRTVfQkRfOTNfRTVfODlfOERfRTRfQkFfQUVfRTVfQkFfQTYgPCBfRTRfQkFfQUVfRTVfQkFfQTZfRTdfOUJfQUVfRTZfQTBfODcgLSA1OgogICAgICAgIFJHQl9FNF9CQV9BRV9FNV9CQV9BNiArPSAxCiAgICBlbGlmIF9FNV9CRF85M19FNV84OV84RF9FNF9CQV9BRV9FNV9CQV9BNiA+IF9FNF9CQV9BRV9FNV9CQV9BNl9FN185Ql9BRV9FNl9BMF84NyArIDU6CiAgICAgICAgUkdCX0U0X0JBX0FFX0U1X0JBX0E2IC09IDEKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoX0U1X0JEXzkzX0U1Xzg5XzhEX0U0X0JBX0FFX0U1X0JBX0E2KQogICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix index afae7ae2..8e0e1461 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix @@ -1 +1 @@ -飞机X2障碍X8WHILETRUEB1keyonboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[1,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,0,0,0,0,0,0,0,0,0],[1,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]0,1,2,3291x0障碍X3ONs10ADD1飞机X1x3BREAK0障碍X3OFFshift_right1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCumjnuaculggPSAyCumanOeijVggPSA4CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxY1x4MWNceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJykpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMiwgOSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCjpmpznoo1YKSwgaW50KDMpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoKOmjnuaculggKyB4KSksIGludCgzKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQo6Zqc56KNWCksIGludCgzKSwgMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCg==:N3Ys[$+u+^4[6">s10ADD1飞机X1x3BREAK0障碍X3OFFshift_right1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCl9FOV9BM185RV9FNl85Q19CQVggPSAyCl9FOV85QV85Q19FN19BMl84RFggPSA4CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxY1x4MWNceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJykpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMiwgOSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTlfOUFfOUNfRTdfQTJfOERYKSwgaW50KDMpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoKF9FOV9BM185RV9FNl85Q19CQVggKyB4KSksIGludCgzKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U5XzlBXzlDX0U3X0EyXzhEWCksIGludCgzKSwgMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCg== \ No newline at end of file +飞机X2障碍X8WHILETRUEB1keyonboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[1,1,0,0,0,0,0,0,0,0,0,0],[1,1,1,0,0,0,0,0,0,0,0,0],[1,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]0,1,2,3291x0障碍X3ONs10ADD1飞机X1x3BREAK0障碍X3OFFshift_right1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCumjnuaculggPSAyCumanOeijVggPSA4CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxY1x4MWNceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJykpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMiwgOSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCjpmpznoo1YKSwgaW50KDMpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoKOmjnuaculggKyB4KSksIGludCgzKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQo6Zqc56KNWCksIGludCgzKSwgMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCg==:N3Ys[$+u+^4[6">s10ADD1飞机X1x3BREAK0障碍X3OFFshift_right1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCl9FOV9BM185RV9FNl85Q19CQVggPSAyCl9FOV85QV85Q19FN19BMl84RFggPSA4CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoYnl0ZWFycmF5KGInXHgxY1x4MWNceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJykpCiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMiwgOSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTlfOUFfOUNfRTdfQTJfOERYKSwgaW50KDMpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoKF9FOV9BM185RV9FNl85Q19CQVggKyB4KSksIGludCgzKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U5XzlBXzlDX0U3X0EyXzhEWCksIGludCgzKSwgMCkKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix index cf2d45f4..c4b65025 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HEARTonboard_music.DADADADUM{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HEARTonboard_music.DADADADUM{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhFQVJUKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix index 025d7558..6d3db539 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix @@ -1 +1 @@ -WHILETRUETrueMixly698100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCkgPT0gVHJ1ZToKICAgICAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo=CAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUETrueMixly698100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCkgPT0gVHJ1ZToKICAgICAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo=CAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix index 9a4baf64..53ae0528 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix @@ -1 +1 @@ -WHILETRUEcardidNEQcardidMixlycardid698100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lOgogICAgICAgIHByaW50KGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEcardidNEQcardidMixlycardid698100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lOgogICAgICAgIHByaW50KGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjk4LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/15-2 外置LED程序体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/15-2 外置LED程序体验.mix index 61455bfe..307e8c21 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/15-2 外置LED程序体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/15-2 外置LED程序体验.mix @@ -1 +1 @@ -WHILETRUEB1key119s110s1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDE5KQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEB1key119s110s1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDE5KQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix index 87f15c21..2ce34caa 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix @@ -1 +1 @@ -WHILETRUE11trueB1key10s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUE11trueB1key10s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix index 3094436a..c684bed9 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msMixlyMINUS1按下时刻1亮灯时刻s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWFjaGluZQoKCl9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHByaW50KChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msMixlyMINUS1按下时刻1亮灯时刻s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWFjaGluZQoKCl9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHByaW50KChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix index 22353ac0..8db36f46 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msTrueMixlyxMINUS1按下时刻1亮灯时刻0s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msTrueMixlyxMINUS1按下时刻1亮灯时刻0s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix index aebe33c2..4661bf46 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUEs1float1211亮灯时刻mstrueB1key10按下时刻msMixlyxMINUS1按下时刻1亮灯时刻{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSkK \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUEs1float1211亮灯时刻mstrueB1key10按下时刻msMixlyxMINUS1按下时刻1亮灯时刻{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix index 77b83b74..de807aa2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZihfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZihfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix index 130846d9..7bdc379e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCgoKX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZihfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCgoKX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gMApfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IDAKd2hpbGUgVHJ1ZToKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZihfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix index ebb6eb88..ee0f9e62 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B1keyANDEQ亮灯编号2B2keyMixlyxMINUS1按下时刻1亮灯时刻onboard_matrix.SAD{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gMAp3aGlsZSBUcnVlOgogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNywxKQogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMSBhbmQgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpIG9yIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMiBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQikpKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B1keyANDEQ亮灯编号2B2keyMixlyxMINUS1按下时刻1亮灯时刻onboard_matrix.SAD{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gMAp3aGlsZSBUcnVlOgogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNywxKQogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMSBhbmQgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpIG9yIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMiBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQikpKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix index 407e25bf..ee19ce87 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyA1key1020按下时刻msORANDEQ亮灯编号1A1keyANDEQ亮灯编号2B1keyMixlyxMINUS1按下时刻1亮灯时刻onboard_matrix.SAD{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gMAp3aGlsZSBUcnVlOgogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNywxKQogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMSBhbmQgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpIG9yIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMiBhbmQgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQikpKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyA1key1020按下时刻msORANDEQ亮灯编号1A1keyANDEQ亮灯编号2B1keyMixlyxMINUS1按下时刻1亮灯时刻onboard_matrix.SAD{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIgPSAwCl9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiA9IDAKX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gMAp3aGlsZSBUcnVlOgogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U3X0JDXzk2X0U1XzhGX0I3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKF9FNF9CQV9BRV9FN184MV9BRl9FN19CQ185Nl9FNV84Rl9CNywxKQogICAgX0U0X0JBX0FFX0U3XzgxX0FGX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICBfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMSBhbmQgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkpIG9yIChfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcgPT0gMiBhbmQgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIoKF9FNl84Q184OV9FNF9COF84Ql9FNl85N19CNl9FNV84OF9CQiAtIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQikpKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix index 13398215..b7a682ab 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix @@ -1 +1 @@ -WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file +WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix index 3269cb5f..e045b407 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix @@ -1 +1 @@ -WHILETRUEB1key11B2key10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +WHILETRUEB1key11B2key10{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix index 36a1a58a..412368aa 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix @@ -1 +1 @@ -灯亮度级别0WHILETRUEB1key灯亮度级别QUYU1ADD1灯亮度级别141100MULTIPLY301灯亮度级别{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCueBr+S6ruW6pue6p+WIqyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnga/kuq7luqbnuqfliKsgPSAo54Gv5Lqu5bqm57qn5YirICsgMSkgJSA0CiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsKDMwICog54Gv5Lqu5bqm57qn5YirKSkK \ No newline at end of file +灯亮度级别0WHILETRUEB1key灯亮度级别QUYU1ADD1灯亮度级别141100MULTIPLY301灯亮度级别{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCueBr+S6ruW6pue6p+WIqyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnga/kuq7luqbnuqfliKsgPSAo54Gv5Lqu5bqm57qn5YirICsgMSkgJSA0CiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsKDMwICog54Gv5Lqu5bqm57qn5YirKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix index bb913c5b..33061dd9 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix @@ -1 +1 @@ -WHILETRUELTLT-3x31100intx50-100100010010{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTMgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLGludCgobWF0aF9tYXAob25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKSwgKC0xMDApLCAxMDAsIDAsIDEwMCkpKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLDApCg== \ No newline at end of file +WHILETRUELTLT-3x31100intx50-100100010010{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTMgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLGludCgobWF0aF9tYXAob25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKSwgKC0xMDApLCAxMDAsIDAsIDEwMCkpKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix index e335c07d..fc68295e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix @@ -1 +1 @@ -R0G0B0WHILETRUEA1keyRMINUS201RA2keyGMINUS201GA3keyBMINUS201BA4keyR0G0B00R0G0B{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgoKClIgPSAwCkcgPSAwCkIgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDIwIC0gUgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEcgPSAyMCAtIEcKICAgIGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBCID0gMjAgLSBCCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDAKICAgICAgICBHID0gMAogICAgICAgIEIgPSAwCiAgICBvbmJvYXJkX3JnYi5maWxsKChSLCBHLCBCKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +R0G0B0WHILETRUEA1keyRMINUS201RA2keyGMINUS201GA3keyBMINUS201BA4keyR0G0B00R0G0B{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX3JnYgoKClIgPSAwCkcgPSAwCkIgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDIwIC0gUgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEcgPSAyMCAtIEcKICAgIGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBCID0gMjAgLSBCCiAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDAKICAgICAgICBHID0gMAogICAgICAgIEIgPSAwCiAgICBvbmJvYXJkX3JnYi5maWxsKChSLCBHLCBCKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix index d006a282..accdfaf4 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix @@ -1 +1 @@ -电梯当前楼层9用户所在楼层5电梯行为-WHILETRUEORB1keyB2key用户所在楼层int19Mixly用户所在楼层LT用户所在楼层电梯当前楼层电梯行为vGT用户所在楼层电梯当前楼层电梯行为^电梯行为-s0.2TrueMixlyHellox电梯当前楼层Mixly电梯行为0EQ电梯行为vMINUSa电梯当前楼层1EQ电梯行为^ADDa电梯当前楼层1{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK55S15qKv5b2T5YmN5qW85bGCID0gOQrnlKjmiLfmiYDlnKjmpbzlsYIgPSA1CueUteair+ihjOS4uiA9ICctJwp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA5KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCjnlKjmiLfmiYDlnKjmpbzlsYIpCiAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJ3YnCiAgICBlbGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICDnlLXmoq/ooYzkuLogPSAnXicKICAgIGVsc2U6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICB0aW1lLnNsZWVwKDAuMikKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijnlLXmoq/lvZPliY3mpbzlsYIpICsg55S15qKv6KGM5Li6LHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgaWYg55S15qKv6KGM5Li6ID09ICd2JzoKICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgIOeUteair+W9k+WJjealvOWxgiArPSAxCg== \ No newline at end of file +电梯当前楼层9用户所在楼层5电梯行为-WHILETRUEORB1keyB2key用户所在楼层int19Mixly用户所在楼层LT用户所在楼层电梯当前楼层电梯行为vGT用户所在楼层电梯当前楼层电梯行为^电梯行为-s0.2TrueMixlyHellox电梯当前楼层Mixly电梯行为0EQ电梯行为vMINUSa电梯当前楼层1EQ电梯行为^ADDa电梯当前楼层1{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK55S15qKv5b2T5YmN5qW85bGCID0gOQrnlKjmiLfmiYDlnKjmpbzlsYIgPSA1CueUteair+ihjOS4uiA9ICctJwp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA5KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbCjnlKjmiLfmiYDlnKjmpbzlsYIpCiAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJ3YnCiAgICBlbGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICDnlLXmoq/ooYzkuLogPSAnXicKICAgIGVsc2U6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICB0aW1lLnNsZWVwKDAuMikKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijnlLXmoq/lvZPliY3mpbzlsYIpICsg55S15qKv6KGM5Li6LHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgaWYg55S15qKv6KGM5Li6ID09ICd2JzoKICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgIOeUteair+W9k+WJjealvOWxgiArPSAxCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix index 25bd495b..03bf08cd 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix @@ -1 +1 @@ -WHILETRUE烟雾浓度GT烟雾浓度50onboard_music.BA_DING{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBUcnVlOgogICAg54Of6Zu+5rWT5bqmID0gb25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKQogICAgaWYg54Of6Zu+5rWT5bqmID4gNTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK \ No newline at end of file +WHILETRUE烟雾浓度GT烟雾浓度50onboard_music.BA_DING{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBUcnVlOgogICAg54Of6Zu+5rWT5bqmID0gb25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKQogICAgaWYg54Of6Zu+5rWT5bqmID4gNTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix index 160e77e3..0b4251ef 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix @@ -1 +1 @@ -电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSETruex0WHILETRUETrueTrue=0用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4Mixlyx用户目标楼层用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixlyx电梯所在楼层0s0.5EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1onboard_matrix.DOOR_OPENs1.5onboard_matrix.DOOR_CLOSE用户认证FALSETruex0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmltcG9ydCByYW5kb20KaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKb25ib2FyZF9tYXRyaXguc2hvd3MoJ3gnLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19taW5pLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIo55So5oi355uu5qCH5qW85bGCKSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIo55S15qKv5omA5Zyo5qW85bGCKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBpZiDnlLXmoq/ooYzkuLogPT0gJ3YnOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgLT0gMQogICAgICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCICs9IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgICAgICDnlKjmiLforqTor4EgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygneCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file +电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSETruex0WHILETRUETrueTrue=0用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4Mixlyx用户目标楼层用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixlyx电梯所在楼层0s0.5EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1onboard_matrix.DOOR_OPENs1.5onboard_matrix.DOOR_CLOSE用户认证FALSETruex0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmltcG9ydCByYW5kb20KaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKb25ib2FyZF9tYXRyaXguc2hvd3MoJ3gnLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19taW5pLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIo55So5oi355uu5qCH5qW85bGCKSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIo55S15qKv5omA5Zyo5qW85bGCKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBpZiDnlLXmoq/ooYzkuLogPT0gJ3YnOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgLT0gMQogICAgICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCICs9IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgICAgICDnlKjmiLforqTor4EgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygneCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix index de884ff7..3ce3355d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix @@ -1 +1 @@ -电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSETruex0WHILETRUETrueTrue=0用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4Mixlyx用户目标楼层用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixlyx电梯所在楼层0s0.2EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1B1keyonboard_matrix.DOOR_OPENs1.5onboard_matrix.DOOR_CLOSE用户认证FALSETruex0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmltcG9ydCByYW5kb20KaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKb25ib2FyZF9tYXRyaXguc2hvd3MoJ3gnLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19taW5pLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIo55So5oi355uu5qCH5qW85bGCKSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIo55S15qKv5omA5Zyo5qW85bGCKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBpZiDnlLXmoq/ooYzkuLogPT0gJ3YnOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgLT0gMQogICAgICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCICs9IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEuNSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICAgICAgICAgICAgICDnlKjmiLforqTor4EgPSBGYWxzZQogICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ3gnLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file +电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSETruex0WHILETRUETrueTrue=0用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4Mixlyx用户目标楼层用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixlyx电梯所在楼层0s0.2EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1B1keyonboard_matrix.DOOR_OPENs1.5onboard_matrix.DOOR_CLOSE用户认证FALSETruex0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmltcG9ydCByYW5kb20KaW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKb25ib2FyZF9tYXRyaXguc2hvd3MoJ3gnLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJz0nLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19taW5pLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19taW5pLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIo55So5oi355uu5qCH5qW85bGCKSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIo55S15qKv5omA5Zyo5qW85bGCKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBpZiDnlLXmoq/ooYzkuLogPT0gJ3YnOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgLT0gMQogICAgICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCICs9IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEuNSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICAgICAgICAgICAgICDnlKjmiLforqTor4EgPSBGYWxzZQogICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3MoJ3gnLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix index 76bee1f1..cbef2a66 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix @@ -1 +1 @@ -电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSETruex0WHILETRUELT50TrueTrue=0用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4Mixlyx用户目标楼层用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixlyx电梯所在楼层0s0.2EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1B1keyonboard_matrix.DOOR_OPENs1.5onboard_matrix.DOOR_CLOSE用户认证FALSETruex0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWluaV9nMiBpbXBvcnQgZXh0X3JmaWQKaW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCueUteair+aJgOWcqOalvOWxgiA9IDEK55So5oi35omA5Zyo5qW85bGCID0gMQrnlKjmiLfnm67moIfmpbzlsYIgPSAxCueUteair+ihjOS4uiA9ICctJwrnlKjmiLforqTor4EgPSBGYWxzZQpvbmJvYXJkX21hdHJpeC5zaG93cygneCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNTA6CiAgICAgICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCc9JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAg55So5oi36K6k6K+BID0gVHJ1ZQogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkEya2V5LmlzX3ByZXNzZWQoKSkgb3IgKG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTRrZXkuaXNfcHJlc3NlZCgpKSk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAyCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbWluaS5BNGtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIo55So5oi355uu5qCH5qW85bGCKSkKICAgICAgICBpZiDnlKjmiLforqTor4E6CiAgICAgICAgICAgIGlmIOeUteair+aJgOWcqOalvOWxgiA8IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgICAgICBlbGlmIOeUteair+aJgOWcqOalvOWxgiA+IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICd2JwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijnlLXmoq/miYDlnKjmpbzlsYIpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICAgICAgaWYg55S15qKv6KGM5Li6ID09ICd2JzoKICAgICAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiAtPSAxCiAgICAgICAgICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiArPSAxCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQogICAgICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICAgICAgICAgICAgICAgICAg55So5oi36K6k6K+BID0gRmFsc2UKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygneCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file +电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSETruex0WHILETRUELT50TrueTrue=0用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4Mixlyx用户目标楼层用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixlyx电梯所在楼层0s0.2EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1B1keyonboard_matrix.DOOR_OPENs1.5onboard_matrix.DOOR_CLOSE用户认证FALSETruex0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWluaV9nMiBpbXBvcnQgZXh0X3JmaWQKaW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCueUteair+aJgOWcqOalvOWxgiA9IDEK55So5oi35omA5Zyo5qW85bGCID0gMQrnlKjmiLfnm67moIfmpbzlsYIgPSAxCueUteair+ihjOS4uiA9ICctJwrnlKjmiLforqTor4EgPSBGYWxzZQpvbmJvYXJkX21hdHJpeC5zaG93cygneCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNTA6CiAgICAgICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCc9JyxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICAgICAg55So5oi36K6k6K+BID0gVHJ1ZQogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKChtaXhnb19taW5pLkExa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19taW5pLkEya2V5LmlzX3ByZXNzZWQoKSkgb3IgKG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX21pbmkuQTRrZXkuaXNfcHJlc3NlZCgpKSk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbWluaS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAyCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbWluaS5BM2tleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbWluaS5BNGtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChzdHIo55So5oi355uu5qCH5qW85bGCKSkKICAgICAgICBpZiDnlKjmiLforqTor4E6CiAgICAgICAgICAgIGlmIOeUteair+aJgOWcqOalvOWxgiA8IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgICAgICBlbGlmIOeUteair+aJgOWcqOalvOWxgiA+IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICd2JwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKHN0cijnlLXmoq/miYDlnKjmpbzlsYIpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICAgICAgaWYg55S15qKv6KGM5Li6ID09ICd2JzoKICAgICAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiAtPSAxCiAgICAgICAgICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiArPSAxCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQogICAgICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICAgICAgICAgICAgICAgICAg55So5oi36K6k6K+BID0gRmFsc2UKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygneCcsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix index 206f7b02..ff61c199 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix @@ -1,4 +1,4 @@ -转向灯状态0 不亮 +转向灯状态0 不亮 1 左闪 2 右闪 0WHILETRUEA1key转向灯状态0 不亮 diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix index e8d7f585..aa3c97f4 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix @@ -1 +1 @@ -安全带状态FALSEWHILETRUE安全带状态B1key安全带状态onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCgoK5a6J5YWo5bim54q25oCBID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIOWuieWFqOW4pueKtuaAgSA9IG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKQogICAgaWYgbm90IOWuieWFqOW4pueKtuaAgToKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CQV9ESU5HKQo= \ No newline at end of file +安全带状态FALSEWHILETRUE安全带状态B1key安全带状态onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCgoK5a6J5YWo5bim54q25oCBID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIOWuieWFqOW4pueKtuaAgSA9IG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKQogICAgaWYgbm90IOWuieWFqOW4pueKtuaAgToKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CQV9ESU5HKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix index 74a23aa1..958d0d5f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix @@ -1 +1 @@ -安全带状态FALSEWHILETRUE安全带状态B1keyAND安全带状态GT100onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgrlronlhajluKbnirbmgIEgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg5a6J5YWo5bim54q25oCBID0gbm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpCiAgICBpZiBub3Qg5a6J5YWo5bim54q25oCBIGFuZCBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCg== \ No newline at end of file +安全带状态FALSEWHILETRUE安全带状态B1keyAND安全带状态GT100onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgrlronlhajluKbnirbmgIEgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg5a6J5YWo5bim54q25oCBID0gbm90IG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpCiAgICBpZiBub3Qg5a6J5YWo5bim54q25oCBIGFuZCBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix index dc83da00..b0efe94a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix @@ -1 +1 @@ -WHILETRUEdMixlydGTd50659ms1ZHENGCHU100001dms1ZHENGCHU100001d{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgZCA9IG9uYm9hcmRfYWxzLnBzX25sKCkKICAgIHByaW50KGQpCiAgICBpZiBkID4gNTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaCg2NTkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8gZCkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKICAgICAgICB0aW1lLnNsZWVwX21zKCgxMDAwMCAvLyBkKSkK \ No newline at end of file +WHILETRUEdMixlydGTd50659ms1ZHENGCHU100001dms1ZHENGCHU100001d{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgZCA9IG9uYm9hcmRfYWxzLnBzX25sKCkKICAgIHByaW50KGQpCiAgICBpZiBkID4gNTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaCg2NTkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8gZCkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKICAgICAgICB0aW1lLnNsZWVwX21zKCgxMDAwMCAvLyBkKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix index e3240e8f..af696838 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix @@ -1 +1 @@ -当前速度40巡航速度50启动定速巡航FALSEWHILETRUEB1key启动定速巡航TRUEB2key启动定速巡航FALSE启动定速巡航s0.2LT当前速度巡航速度ADDa当前速度1LT当前速度巡航速度MINUSa当前速度1TrueMixlyx当前速度0{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCuW9k+WJjemAn+W6piA9IDQwCuW3oeiIqumAn+W6piA9IDUwCuWQr+WKqOWumumAn+W3oeiIqiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5ZCv5Yqo5a6a6YCf5beh6IiqID0gVHJ1ZQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWQr+WKqOWumumAn+W3oeiIqiA9IEZhbHNlCiAgICBpZiDlkK/liqjlrprpgJ/lt6HoiKo6CiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgaWYg5b2T5YmN6YCf5bqmIDwg5beh6Iiq6YCf5bqmOgogICAgICAgICAgICDlvZPliY3pgJ/luqYgKz0gMQogICAgICAgIGVsaWYg5b2T5YmN6YCf5bqmIDwg5beh6Iiq6YCf5bqmOgogICAgICAgICAgICDlvZPliY3pgJ/luqYgLT0gMQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOW9k+WJjemAn+W6piksc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file +当前速度40巡航速度50启动定速巡航FALSEWHILETRUEB1key启动定速巡航TRUEB2key启动定速巡航FALSE启动定速巡航s0.2LT当前速度巡航速度ADDa当前速度1LT当前速度巡航速度MINUSa当前速度1TrueMixlyx当前速度0{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCuW9k+WJjemAn+W6piA9IDQwCuW3oeiIqumAn+W6piA9IDUwCuWQr+WKqOWumumAn+W3oeiIqiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5ZCv5Yqo5a6a6YCf5beh6IiqID0gVHJ1ZQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWQr+WKqOWumumAn+W3oeiIqiA9IEZhbHNlCiAgICBpZiDlkK/liqjlrprpgJ/lt6HoiKo6CiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgaWYg5b2T5YmN6YCf5bqmIDwg5beh6Iiq6YCf5bqmOgogICAgICAgICAgICDlvZPliY3pgJ/luqYgKz0gMQogICAgICAgIGVsaWYg5b2T5YmN6YCf5bqmIDwg5beh6Iiq6YCf5bqmOgogICAgICAgICAgICDlvZPliY3pgJ/luqYgLT0gMQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Moc3RyKOW9k+WJjemAn+W6piksc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix index 306b6d02..e1aea62b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix @@ -1 +1 @@ -WHILETRUEB1keyl1Mixlyl111s1l2Mixlyl210LTMINUS1l21l11onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbDEgPSBvbmJvYXJkX2Fscy5hbHNfdmlzKCkKICAgICAgICBwcmludChsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGwyID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICAgICAgcHJpbnQobDIpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIGlmIGwyIC0gbDEgPCAxOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CQV9ESU5HKQo= \ No newline at end of file +WHILETRUEB1keyl1Mixlyl111s1l2Mixlyl210LTMINUS1l21l11onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbDEgPSBvbmJvYXJkX2Fscy5hbHNfdmlzKCkKICAgICAgICBwcmludChsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGwyID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICAgICAgcHJpbnQobDIpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIGlmIGwyIC0gbDEgPCAxOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CQV9ESU5HKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix index 38d13cb1..9e33ce44 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix @@ -1 +1 @@ -x0y1startFALSEm[[1,1,1,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[1,0,1,1,1,1,0,1,1,1,1,1],[1,0,0,0,0,1,1,1,0,0,0,0],[1,0,0,0,0,0,0,0,0,1,1,1],[1,1,1,1,1,0,0,0,1,1,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUEB1keystartTRUEx0y1onboard_matrix.HEARTmstart0x0yOFFA1keyADDy1A2keyMINUSx1A3keyMINUSy1A4keyADDx10x0yonboard_matrix.SADstartFALSEANDEQx11EQy3onboard_matrix.HAPPYstartFALSE0x0yON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDY0XHg0Y1x4NDhceDRjXHg2NFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIG1peGdvX21pbmkuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxpZiB4ID09IDExIGFuZCB5ID09IDM6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhBUFBZKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo="logic_compare" id="bB6|#rym0p4-wmSQ@:H!">EQy3onboard_matrix.HAPPYstartFALSE0x0yON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDI0XHg0Y1x4NDhceDRjXHgyNFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIG1peGdvX21pbmkuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxpZiB4ID09IDExIGFuZCB5ID09IDM6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhBUFBZKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file +x0y1startFALSEm[[1,1,1,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[1,0,1,1,1,1,0,1,1,1,1,1],[1,0,0,0,0,1,1,1,0,0,0,0],[1,0,0,0,0,0,0,0,0,1,1,1],[1,1,1,1,1,0,0,0,1,1,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUEB1keystartTRUEx0y1onboard_matrix.HEARTmstart0x0yOFFA1keyADDy1A2keyMINUSx1A3keyMINUSy1A4keyADDx10x0yonboard_matrix.SADstartFALSEANDEQx11EQy3onboard_matrix.HAPPYstartFALSE0x0yON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDY0XHg0Y1x4NDhceDRjXHg2NFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIG1peGdvX21pbmkuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxpZiB4ID09IDExIGFuZCB5ID09IDM6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhBUFBZKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo="logic_compare" id="bB6|#rym0p4-wmSQ@:H!">EQy3onboard_matrix.HAPPYstartFALSE0x0yON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDI0XHg0Y1x4NDhceDRjXHgyNFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBpZiBtaXhnb19taW5pLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIG1peGdvX21pbmkuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgbWl4Z29fbWluaS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBtaXhnb19taW5pLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpKToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguU0FEKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxpZiB4ID09IDExIGFuZCB5ID09IDM6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkhBUFBZKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix index ba62866f..aa6232f6 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix @@ -1 +1 @@ -x0y1startFALSEm[[1,1,1,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[1,0,1,1,1,1,0,1,1,1,1,1],[1,0,0,0,0,1,1,1,0,0,0,0],[1,0,0,0,0,0,0,0,0,1,1,1],[1,1,1,1,1,0,0,0,1,1,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUEB1keystartTRUEx0y1onboard_matrix.HEARTmstart0x0yOFFs0.40ADD1x10yADDx10x0ADD1y1ADDy10x0MINUS1y1MINUSy1ANDEQx11EQy3onboard_matrix.HAPPYstartFALSE0x0yONs0.4{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDY0XHg0Y1x4NDhceDRjXHg2NFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwKDAuNCkKICAgICAgICBpZiBub3Qgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KCh4ICsgMSkpLCBpbnQoeSkpOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBlbGlmIG5vdCBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgoeSArIDEpKSk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGVsaWYgbm90IG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KCh5IC0gMSkpKToKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgeCA9PSAxMSBhbmQgeSA9PSAzOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IQVBQWSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjQpCg==alue name="A">y3onboard_matrix.HAPPYstartFALSE0x0yONs0.4{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDI0XHg0Y1x4NDhceDRjXHgyNFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwKDAuNCkKICAgICAgICBpZiBub3Qgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KCh4ICsgMSkpLCBpbnQoeSkpOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBlbGlmIG5vdCBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgoeSArIDEpKSk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGVsaWYgbm90IG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KCh5IC0gMSkpKToKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgeCA9PSAxMSBhbmQgeSA9PSAzOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IQVBQWSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjQpCg== \ No newline at end of file +x0y1startFALSEm[[1,1,1,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,0,0,0,0],[1,0,1,1,1,1,0,1,1,1,1,1],[1,0,0,0,0,1,1,1,0,0,0,0],[1,0,0,0,0,0,0,0,0,1,1,1],[1,1,1,1,1,0,0,0,1,1,0,0],[0,0,0,0,1,1,1,1,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]WHILETRUEB1keystartTRUEx0y1onboard_matrix.HEARTmstart0x0yOFFs0.40ADD1x10yADDx10x0ADD1y1ADDy10x0MINUS1y1MINUSy1ANDEQx11EQy3onboard_matrix.HAPPYstartFALSE0x0yONs0.4{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDY0XHg0Y1x4NDhceDRjXHg2NFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwKDAuNCkKICAgICAgICBpZiBub3Qgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KCh4ICsgMSkpLCBpbnQoeSkpOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBlbGlmIG5vdCBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgoeSArIDEpKSk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGVsaWYgbm90IG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KCh5IC0gMSkpKToKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgeCA9PSAxMSBhbmQgeSA9PSAzOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IQVBQWSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjQpCg==alue name="A">y3onboard_matrix.HAPPYstartFALSE0x0yONs0.4{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCnggPSAwCnkgPSAxCnN0YXJ0ID0gRmFsc2UKbSA9IGJ5dGVhcnJheShiJ1x4M2RceDIxXHgyN1x4MjRceDI0XHg0Y1x4NDhceDRjXHgyNFx4MzRceDE0XHgxNCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc3RhcnQgPSBUcnVlCiAgICAgICAgeCA9IDAKICAgICAgICB5ID0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG0pCiAgICBpZiBzdGFydDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwKDAuNCkKICAgICAgICBpZiBub3Qgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KCh4ICsgMSkpLCBpbnQoeSkpOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBlbGlmIG5vdCBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgoeSArIDEpKSk6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGVsaWYgbm90IG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KCh5IC0gMSkpKToKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgeCA9PSAxMSBhbmQgeSA9PSAzOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5IQVBQWSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix index c5942c77..c7e59e3c 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix @@ -1 +1 @@ -距离5速度5WHILETRUEB1keyonboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,1,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[0,1,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]0,1,2,305距离1ishift_right1s1DIVIDE11速度{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCui3neemuyA9IDUK6YCf5bqmID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MThceDNjXHgxOFx4M2NceDE4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCcpKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIOi3neemuywgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoKDEgLyDpgJ/luqYpKQo=00#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#0000000,1,2,305距离1ishift_right1s1DIVIDE11速度{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCl9FOF9CN185RF9FN19BNl9CQiA9IDUKX0U5XzgwXzlGX0U1X0JBX0E2ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MThceDNjXHgxOFx4M2NceDE4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCcpKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIF9FOF9CN185RF9FN19BNl9CQiwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoKDEgLyBfRTlfODBfOUZfRTVfQkFfQTYpKQo= \ No newline at end of file +距离5速度5WHILETRUEB1keyonboard_matrix.HEART[[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,1,0,1,0,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[1,1,1,1,1,0,0,0,0,0,0,0],[0,1,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0]]0,1,2,305距离1ishift_right1s1DIVIDE11速度{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCui3neemuyA9IDUK6YCf5bqmID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MThceDNjXHgxOFx4M2NceDE4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCcpKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIOi3neemuywgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoKDEgLyDpgJ/luqYpKQo=00#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#000000#0000000,1,2,305距离1ishift_right1s1DIVIDE11速度{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCl9FOF9CN185RF9FN19BNl9CQiA9IDUKX0U5XzgwXzlGX0U1X0JBX0E2ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGJ5dGVhcnJheShiJ1x4MThceDNjXHgxOFx4M2NceDE4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCcpKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIF9FOF9CN185RF9FN19BNl9CQiwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNoaWZ0X3JpZ2h0KDEpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoKDEgLyBfRTlfODBfOUZfRTVfQkFfQTYpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix index 69723b13..f8300e45 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix @@ -1 +1 @@ -WHILETRUEGT1001-1s0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSA+IDEwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUEGT1001-1s0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSA+IDEwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix index ea1a3b2f..48d6f50f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix @@ -1 +1 @@ -onboard_matrix.DOOR_OPENWHILETRUEGT100onboard_matrix.DOOR_CLOSEs0.1onboard_matrix.DOOR_OPENINGs0.1onboard_matrix.DOOR_OPENs1onboard_matrix.DOOR_OPENINGs0.1onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQo= \ No newline at end of file +onboard_matrix.DOOR_OPENWHILETRUEGT100onboard_matrix.DOOR_CLOSEs0.1onboard_matrix.DOOR_OPENINGs0.1onboard_matrix.DOOR_OPENs1onboard_matrix.DOOR_OPENINGs0.1onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix index 61801762..01e942e0 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix @@ -1 +1 @@ -WHILETRUEMixly0,1,2,305intx500100081y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDgpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEMixly0,1,2,305intx500100081y110MINUS71yONshift_left1s0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYm90LnNvdW5kbGV2ZWwoKSkKICAgIGZvciB5IGluIHJhbmdlKDAsIGludCgobWF0aF9tYXAob25ib2FyZF9ib3Quc291bmRsZXZlbCgpLCAwLCAxMDAsIDAsIDgpKSksIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCgxMSksIGludCg3IC0geSksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5zaGlmdF9sZWZ0KDEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix index f357522c..4b1ee60c 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix @@ -1 +1 @@ -阈值100WHILETRUEGT阈值1-1s0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKX0U5Xzk4Xzg4X0U1XzgwX0JDID0gMTAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkgPiBfRTlfOThfODhfRTVfODBfQkM6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +阈值100WHILETRUEGT阈值1-1s0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKX0U5Xzk4Xzg4X0U1XzgwX0JDID0gMTAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkgPiBfRTlfOThfODhfRTVfODBfQkM6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-1 开关量.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-1 开关量.mix index ca378c28..305dce37 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-1 开关量.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-1 开关量.mix @@ -1 +1 @@ -WHILETRUE11B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKQo= \ No newline at end of file +WHILETRUE11B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLG1peGdvX21pbmkuQjFrZXkuaXNfcHJlc3NlZCgpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3 非体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3 非体验.mix index 4ad5a432..5e6080ab 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3 非体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3 非体验.mix @@ -1 +1 @@ -WHILETRUEB1keyonboard_matrix.HAPPYonboard_matrix.SAD{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBub3QgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEFQUFkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNBRCkK \ No newline at end of file +WHILETRUEB1keyonboard_matrix.HAPPYonboard_matrix.SAD{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCndoaWxlIFRydWU6CiAgICBpZiBub3QgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguSEFQUFkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNBRCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix index 170880f2..72629ae8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix @@ -1 +1 @@ -WHILETRUE11B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChub3QgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file +WHILETRUE11B1key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChub3QgbWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-1 与运算.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-1 与运算.mix index 83e30759..b7758c80 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-1 与运算.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-1 与运算.mix @@ -1 +1 @@ -WHILETRUE11ANDB1keyB2key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file +WHILETRUE11ANDB1keyB2key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix index 3465e5f7..86392c39 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix @@ -1 +1 @@ -WHILETRUEANDGT100LT2011s110{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9ib3Quc291bmRsZXZlbCgpID4gMTAwIGFuZCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPCAyMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +WHILETRUEANDGT100LT2011s110{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9ib3Quc291bmRsZXZlbCgpID4gMTAwIGFuZCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkgPCAyMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-1 或运算.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-1 或运算.mix index 83e30759..b7758c80 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-1 或运算.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-1 或运算.mix @@ -1 +1 @@ -WHILETRUE11ANDB1keyB2key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file +WHILETRUE11ANDB1keyB2key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix index 7b06598b..f82f1a86 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix @@ -1 +1 @@ -onboard_matrix.DOOR_OPENWHILETRUEORGT100ANDB1keyA1keyonboard_matrix.DOOR_CLOSEs0.1onboard_matrix.DOOR_OPENINGs0.1onboard_matrix.DOOR_OPENs1onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMCBvciAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgYW5kIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCg== \ No newline at end of file +onboard_matrix.DOOR_OPENWHILETRUEORGT100ANDB1keyA1keyonboard_matrix.DOOR_CLOSEs0.1onboard_matrix.DOOR_OPENINGs0.1onboard_matrix.DOOR_OPENs1onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguRE9PUl9PUEVOKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMCBvciAobWl4Z29fbWluaS5CMWtleS5pc19wcmVzc2VkKCkgYW5kIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix index 0d082f7a..302b8b4e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix @@ -1 +1 @@ -WHILETRUEB1key21B2key20s0.1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUEB1key21B2key20s0.1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix index 97faca80..3876c372 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix @@ -1 +1 @@ -WHILETRUEB1key21B2key20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file +WHILETRUEB1key21B2key20{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix index 6b948258..184cdaa0 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix @@ -1 +1 @@ -WHILETRUELTLT-3x31100intx50-100100010010s0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTMgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUELTLT-3x31100intx50-100100010010s0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTMgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix index 362034d4..d109179a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix @@ -1 +1 @@ -x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +x6y4WHILETRUELT[0]-0.1MINUSx1GT[0]0.1ADDx1LT[1]-0.1MINUSy1GT[1]0.1ADDy1x1000x011y1000y070x0yONs0.1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4xOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgNykKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix index 7a133e88..0230291e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix @@ -1 +1 @@ -x6y4WHILETRUEtint14EQt1MINUSx1EQt2ADDx1EQt3MINUSy1EQt4ADDy1x1000x011y1000y070x0yONs0.1{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIHQgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgaWYgdCA9PSAxOgogICAgICAgIHggLT0gMQogICAgaWYgdCA9PSAyOgogICAgICAgIHggKz0gMQogICAgaWYgdCA9PSAzOgogICAgICAgIHkgLT0gMQogICAgaWYgdCA9PSA0OgogICAgICAgIHkgKz0gMQogICAgeCA9IG1pbihtYXgoeCwgMCksIDExKQogICAgeSA9IG1pbihtYXgoeSwgMCksIDcpCiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x6y4WHILETRUEtint14EQt1MINUSx1EQt2ADDx1EQt3MINUSy1EQt4ADDy1x1000x011y1000y070x0yONs0.1{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKeCA9IDYKeSA9IDQKd2hpbGUgVHJ1ZToKICAgIHQgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgaWYgdCA9PSAxOgogICAgICAgIHggLT0gMQogICAgaWYgdCA9PSAyOgogICAgICAgIHggKz0gMQogICAgaWYgdCA9PSAzOgogICAgICAgIHkgLT0gMQogICAgaWYgdCA9PSA0OgogICAgICAgIHkgKz0gMQogICAgeCA9IG1pbihtYXgoeCwgMCksIDExKQogICAgeSA9IG1pbihtYXgoeSwgMCksIDcpCiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-1 接金币游戏-显示移动篮子.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-1 接金币游戏-显示移动篮子.mix index 0c2b6139..8fd5ac7a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-1 接金币游戏-显示移动篮子.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-1 接金币游戏-显示移动篮子.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30101篮子位置0ADD1篮子位置07ON1ADD1篮子位置17ON2ADD1篮子位置27ONs0.2{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3Ig56+u5a2Q5L2N572uIGluIHJhbmdlKDAsIDEwLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDApLCBpbnQoNyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDEpLCBpbnQoNyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDIpLCBpbnQoNyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file +WHILETRUE0,1,2,30101篮子位置0ADD1篮子位置07ON1ADD1篮子位置17ON2ADD1篮子位置27ONs0.2{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3Ig56+u5a2Q5L2N572uIGluIHJhbmdlKDAsIDEwLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDApLCBpbnQoNyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDEpLCBpbnQoNyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDIpLCBpbnQoNyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-10 接金币游戏-改用传感器控制游戏.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-10 接金币游戏-改用传感器控制游戏.mix index 731f7981..73b9924b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-10 接金币游戏-改用传感器控制游戏.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-10 接金币游戏-改用传感器控制游戏.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCmRlZiDmm7TmlrDmmL7npLooeCwgeSwgeik6CiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYg6K6h566X5b6X5YiGKCk6CiAgICBnbG9iYWwg5ri45oiP5b6X5YiGCiAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgIOa4uOaIj+W+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRjb2xvcigxLDEpCgoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjmuLjmiI/lvpfliIYsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCmRlZiDmm7TmlrDmmL7npLooeCwgeSwgeik6CiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYg6K6h566X5b6X5YiGKCk6CiAgICBnbG9iYWwg5ri45oiP5b6X5YiGCiAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgIOa4uOaIj+W+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRjb2xvcigxLDEpCgoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjmuLjmiI/lvpfliIYsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-11 接金币游戏-加入剩余时间显示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-11 接金币游戏-加入剩余时间显示.mix index dbcf015f..393f23e8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-11 接金币游戏-加入剩余时间显示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-11 接金币游戏-加入剩余时间显示.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.12100int50MINUS1ms1游戏开始时间0100001000GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCmRlZiDmm7TmlrDmmL7npLooeCwgeSwgeik6CiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYg6K6h566X5b6X5YiGKCk6CiAgICBnbG9iYWwg5ri45oiP5b6X5YiGCiAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgIOa4uOaIj+W+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRjb2xvcigxLDEpCgoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMixpbnQoKG1hdGhfbWFwKHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCwgMCwgMTAwMDAsIDEwMCwgMCkpKSkKICAgICAgICBpZiB0aW1lLnRpY2tzX21zKCkgLSDmuLjmiI/lvIDlp4vml7bpl7QgPiAxMDAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5ri45oiP5b6X5YiGLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICAgICAg5ri45oiP5b6X5YiGID0gMAogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.12100int50MINUS1ms1游戏开始时间0100001000GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCmRlZiDmm7TmlrDmmL7npLooeCwgeSwgeik6CiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYg6K6h566X5b6X5YiGKCk6CiAgICBnbG9iYWwg5ri45oiP5b6X5YiGCiAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgIOa4uOaIj+W+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRjb2xvcigxLDEpCgoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMixpbnQoKG1hdGhfbWFwKHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCwgMCwgMTAwMDAsIDEwMCwgMCkpKSkKICAgICAgICBpZiB0aW1lLnRpY2tzX21zKCkgLSDmuLjmiI/lvIDlp4vml7bpl7QgPiAxMDAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5ri45oiP5b6X5YiGLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICAgICAg5ri45oiP5b6X5YiGID0gMAogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-12 接金币游戏-加入随机难度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-12 接金币游戏-加入随机难度.mix index 247623a5..bd0ffcc3 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-12 接金币游戏-加入随机难度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-12 接金币游戏-加入随机难度.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1DIVIDE0.51游戏难度2100int50MINUS1ms1游戏开始时间0100001000GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏难度int110TrueMixly游戏难度0s1游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCmRlZiDmm7TmlrDmmL7npLooeCwgeSwgeik6CiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYg6K6h566X5b6X5YiGKCk6CiAgICBnbG9iYWwg5ri45oiP5b6X5YiGCiAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgIOa4uOaIj+W+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRjb2xvcigxLDEpCgoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoKDAuNSAvIOa4uOaIj+mavuW6pikpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLGludCgobWF0aF9tYXAodGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0LCAwLCAxMDAwMCwgMTAwLCAwKSkpKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjmuLjmiI/lvpfliIYsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+mavuW6piA9IHJhbmRvbS5yYW5kaW50KDEsIDEwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjmuLjmiI/pmr7luqYsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1DIVIDE0.51游戏难度2100int50MINUS1ms1游戏开始时间0100001000GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏难度int110TrueMixly游戏难度0s1游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQoKCmRlZiDmm7TmlrDmmL7npLooeCwgeSwgeik6CiAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KHkpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYg6K6h566X5b6X5YiGKCk6CiAgICBnbG9iYWwg5ri45oiP5b6X5YiGCiAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgIOa4uOaIj+W+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRjb2xvcigxLDEpCgoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoKDAuNSAvIOa4uOaIj+mavuW6pikpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLGludCgobWF0aF9tYXAodGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0LCAwLCAxMDAwMCwgMTAwLCAwKSkpKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjmuLjmiI/lvpfliIYsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+mavuW6piA9IHJhbmRvbS5yYW5kaW50KDEsIDEwKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjmuLjmiI/pmr7luqYsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-2 接金币游戏-手动移动篮子.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-2 接金币游戏-手动移动篮子.mix index 5d546a49..208a5f10 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-2 接金币游戏-手动移动篮子.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-2 接金币游戏-手动移动篮子.mix @@ -1 +1 @@ -篮子位置0WHILETRUEB1keyADDa篮子位置1A1keyMINUSa篮子位置10ADD1篮子位置07ON1ADD1篮子位置17ON2ADD1篮子位置27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCjnr67lrZDkvY3nva4gKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQo56+u5a2Q5L2N572uICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkK \ No newline at end of file +篮子位置0WHILETRUEB1keyADDa篮子位置1A1keyMINUSa篮子位置10ADD1篮子位置07ON1ADD1篮子位置17ON2ADD1篮子位置27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCjnr67lrZDkvY3nva4gKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQo56+u5a2Q5L2N572uICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-3 接金币游戏-模块化手动移动篮子.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-3 接金币游戏-模块化手动移动篮子.mix index 2e0311ad..c64c4976 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-3 接金币游戏-模块化手动移动篮子.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-3 接金币游戏-模块化手动移动篮子.mix @@ -1 +1 @@ -x篮子位置0WHILETRUEB1keyADDa篮子位置1A1keyMINUSa篮子位置1篮子位置显示篮子0ADD1x07ON1ADD1x17ON2ADD1x27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiDmmL7npLrnr67lrZAoeCk6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHggKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIOaYvuekuuevruWtkCjnr67lrZDkvY3nva4pCg== \ No newline at end of file +x篮子位置0WHILETRUEB1keyADDa篮子位置1A1keyMINUSa篮子位置1篮子位置显示篮子0ADD1x07ON1ADD1x17ON2ADD1x27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiDmmL7npLrnr67lrZAoeCk6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHggKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIOaYvuekuuevruWtkCjnr67lrZDkvY3nva4pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-4 接金币游戏-移动范围控制.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-4 接金币游戏-移动范围控制.mix index 5e6e39e7..96c66b06 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-4 接金币游戏-移动范围控制.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-4 接金币游戏-移动范围控制.mix @@ -1 +1 @@ -x篮子位置0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0篮子位置显示篮子0ADD1x07ON1ADD1x17ON2ADD1x27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiDmmL7npLrnr67lrZAoeCk6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHggKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riAtPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICDmmL7npLrnr67lrZAo56+u5a2Q5L2N572uKQo= \ No newline at end of file +x篮子位置0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0篮子位置显示篮子0ADD1x07ON1ADD1x17ON2ADD1x27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiDmmL7npLrnr67lrZAoeCk6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHggKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riAtPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICDmmL7npLrnr67lrZAo56+u5a2Q5L2N572uKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-5 接金币游戏-显示金豆下落.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-5 接金币游戏-显示金豆下落.mix index 202e26c5..8c85452d 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-5 接金币游戏-显示金豆下落.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-5 接金币游戏-显示金豆下落.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKZGVmIOabtOaWsOaYvuekuih4LCB5LCB6KToKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMCksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAxKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riAtPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgIGlmIOmHkeW4geS9jee9rnkgPCA3OgogICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICBlbHNlOgogICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKZGVmIOabtOaWsOaYvuekuih4LCB5LCB6KToKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMCksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAxKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riAtPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgIGlmIOmHkeW4geS9jee9rnkgPCA3OgogICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICBlbHNlOgogICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-6 接金币游戏-手动启动游戏.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-6 接金币游戏-手动启动游戏.mix index 0e743f3e..90d94add 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-6 接金币游戏-手动启动游戏.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-6 接金币游戏-手动启动游戏.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1B2key游戏开始TRUE更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKZGVmIOabtOaWsOaYvuekuih4LCB5LCB6KToKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMCksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAxKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUK \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1B2key游戏开始TRUE更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKZGVmIOabtOaWsOaYvuekuih4LCB5LCB6KToKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMCksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAxKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-7 接金币游戏-判断游戏到时结束.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-7 接金币游戏-判断游戏到时结束.mix index 762d003e..af67ab7a 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-7 接金币游戏-判断游戏到时结束.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-7 接金币游戏-判断游戏到时结束.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSEonboard_matrix.SADB2key游戏开始TRUE游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKZGVmIOabtOaWsOaYvuekuih4LCB5LCB6KToKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMCksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAxKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSEonboard_matrix.SADB2key游戏开始TRUE游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKZGVmIOabtOaWsOaYvuekuih4LCB5LCB6KToKICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoeSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMCksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAxKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-8 接金币游戏-判断是否接住.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-8 接金币游戏-判断是否接住.mix index 13a221be..9f91b59f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-8 接金币游戏-判断是否接住.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-8 接金币游戏-判断是否接住.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置LTELTE0篮子位置x金币位置x2ADD1篮子位置23111金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSEonboard_matrix.SADB2key游戏开始TRUE游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpkZWYg5pu05paw5pi+56S6KHgsIHksIHopOgogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDEpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMiksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCA3OgogICAgICAgICAgICDph5HluIHkvY3nva55ICs9IDEKICAgICAgICAgICAg5pu05paw5pi+56S6KOmHkeW4geS9jee9rngsIOmHkeW4geS9jee9rnksIOevruWtkOS9jee9rikKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQogICAgICAgICAgICDph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gMTAwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNBRCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置LTELTE0篮子位置x金币位置x2ADD1篮子位置23111金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSEonboard_matrix.SADB2key游戏开始TRUE游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpkZWYg5pu05paw5pi+56S6KHgsIHksIHopOgogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDEpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMiksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCA3OgogICAgICAgICAgICDph5HluIHkvY3nva55ICs9IDEKICAgICAgICAgICAg5pu05paw5pi+56S6KOmHkeW4geS9jee9rngsIOmHkeW4geS9jee9rnksIOevruWtkOS9jee9rikKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiDnr67lrZDkvY3nva4gPD0g6YeR5biB5L2N572ueCA8PSDnr67lrZDkvY3nva4gKyAyOgogICAgICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwzKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQogICAgICAgICAgICDph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gMTAwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LlNBRCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-9 接金币游戏-计算并显示最终得分.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-9 接金币游戏-计算并显示最终得分.mix index 6dda0f1a..0953c9c4 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-9 接金币游戏-计算并显示最终得分.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G1-9 接金币游戏-计算并显示最终得分.mix @@ -1 +1 @@ -xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpkZWYg5pu05paw5pi+56S6KHgsIHksIHopOgogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDEpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMiksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOa4uOaIj+W+l+WIhgogICAgaWYg56+u5a2Q5L2N572uIDw9IOmHkeW4geS9jee9rnggPD0g56+u5a2Q5L2N572uICsgMjoKICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfbGVkLnNldGNvbG9yKDEsMykKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQoKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCA3OgogICAgICAgICAgICDph5HluIHkvY3nva55ICs9IDEKICAgICAgICAgICAg5pu05paw5pi+56S6KOmHkeW4geS9jee9rngsIOmHkeW4geS9jee9rnksIOevruWtkOS9jee9rikKICAgICAgICBlbHNlOgogICAgICAgICAgICDorqHnrpflvpfliIYoKQogICAgICAgICAgICDph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gMTAwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOa4uOaIj+W+l+WIhixzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W+l+WIhiA9IDAKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +xyz篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y7ADDa金币位置y1金币位置x金币位置y篮子位置金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间10000游戏开始FALSETrueMixly游戏得分0B2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示2x7yON0ADD1z07ON1ADD1z17ON2ADD1z27ON计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分13111{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCgpkZWYg5pu05paw5pi+56S6KHgsIHksIHopOgogICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCh5KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHogKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeiArIDEpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh6ICsgMiksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOa4uOaIj+W+l+WIhgogICAgaWYg56+u5a2Q5L2N572uIDw9IOmHkeW4geS9jee9rnggPD0g56+u5a2Q5L2N572uICsgMjoKICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfbGVkLnNldGNvbG9yKDEsMykKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQoKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCA3OgogICAgICAgICAgICDph5HluIHkvY3nva55ICs9IDEKICAgICAgICAgICAg5pu05paw5pi+56S6KOmHkeW4geS9jee9rngsIOmHkeW4geS9jee9rnksIOevruWtkOS9jee9rikKICAgICAgICBlbHNlOgogICAgICAgICAgICDorqHnrpflvpfliIYoKQogICAgICAgICAgICDph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gMTAwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOa4uOaIj+W+l+WIhixzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W+l+WIhiA9IDAKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-发射子弹.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-发射子弹.mix index f273925a..d472837c 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-发射子弹.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-发射子弹.mix @@ -1 +1 @@ -显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标0,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgZm9yIF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcgaW4gcmFuZ2UoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcF9tcyg1MCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkK \ No newline at end of file +显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标0,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgZm9yIF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcgaW4gcmFuZ2UoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcF9tcyg1MCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示得分.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示得分.mix index 09bd5242..78d2c856 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示得分.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示得分.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIF9FOF9BRV9BMV9FN19BRV85N19FNV9CRV85N19FNV84OF84NigpCg== \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIF9FOF9BRV9BMV9FN19BRV85N19FNV9CRV85N19FNV84OF84NigpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示敌机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示敌机.mix index c19172b1..a8909b6e 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示敌机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示敌机.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示飞机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示飞机.mix index 0b96fdfa..49b26ab8 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示飞机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-1-飞机游戏-显示飞机.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUE0,1,2,31151本机X坐标s1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGZvciBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKDEsIDE1LCAxKToKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUE0,1,2,31151本机X坐标s1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGZvciBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKDEsIDE1LCAxKToKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-消灭敌机.mix index 2ead9fe2..4ed61234 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-消灭敌机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-消灭敌机.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2keyEQ敌机X坐标本机X坐标988100显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIGlmIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPT0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2keyEQ敌机X坐标本机X坐标988100显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbWluaQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQogICAgICAgIGlmIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPT0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NzoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动音效.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动音效.mix index e12e372e..d1a88e73 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动音效.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动音效.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKToKICAgIGdsb2JhbCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gbWluKG1heChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3LCAxKSwgX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpCiAgICBmb3IgeCBpbiByYW5nZShfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMiwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDMsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCmRlZiBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKToKICAgIGdsb2JhbCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gbWluKG1heChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3LCAxKSwgX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpCiAgICBmb3IgeCBpbiByYW5nZShfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMiwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDMsIDEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动飞机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动飞机.mix index 88b8a75d..7d70e908 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动飞机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-移动飞机.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-结束游戏.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-结束游戏.mix index d0a83ec1..7360e760 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-结束游戏.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/经典游戏复刻/G2-2-飞机游戏-结束游戏.mix @@ -1 +1 @@ -屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0游戏开始FALSE剩余子弹5WHILETRUEA2key得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixlyx得分0{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgpkZWYgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBnbG9iYWwgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5CiAgICBfRTVfODlfQTlfRTRfQkRfOTlfRTVfQURfOTBfRTVfQkNfQjkgLT0gMQogICAgaWYgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5IDw9IDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IFRydWUKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkKICAgICAgICAgICAgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCkKICAgICAgICAgICAgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCkK \ No newline at end of file +屏幕X最大值11屏幕Y最大值7本机X坐标1敌机X坐标1子弹X坐标1得分0游戏开始FALSE剩余子弹5WHILETRUEA2key得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1x0x0敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值10敌机X坐标0ON发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标0子弹X坐标3子弹Y坐标ONms500子弹X坐标3子弹Y坐标OFF显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值10,1,2,33MINUS1本机X坐标25ADD1本机X坐标31x0x3屏幕Y最大值OFF0x4MINUS1屏幕Y最大值1OFF0本机X坐标4屏幕Y最大值ON0MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON29450计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0988100判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixlyx得分0{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDLCAxKToKICAgICAgICBpZiBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludCgwKSk6CiAgICAgICAgICAgIF9FNl85NV84Q19FNl85Q19CQV9FNl85OF9BRl9FNV85MF9BNl9FNV9BRF85OF9FNV85Q19BOCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCBfRTZfOTVfOENfRTZfOUNfQkFfRTZfOThfQUZfRTVfOTBfQTZfRTVfQURfOThfRTVfOUNfQTg6CiAgICAgICAgX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IHJhbmRvbS5yYW5kaW50KDEsIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KDApLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKZGVmIF9FNV84Rl85MV9FNV9CMF84NF9FNV9BRF85MF9FNV9CQ19COSgpOgogICAgZ2xvYmFsIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciBfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAxKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgpkZWYgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCk6CiAgICBnbG9iYWwgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IG1pbihtYXgoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NywgMSksIF9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKQogICAgZm9yIHggaW4gcmFuZ2UoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDIsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAzLCAxKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCk6CiAgICBnbG9iYWwgX0U1X0JFXzk3X0U1Xzg4Xzg2CiAgICBpZiBfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID09IF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODc6CiAgICAgICAgX0U1X0JFXzk3X0U1Xzg4Xzg2ICs9IDEKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCgpkZWYgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCk6CiAgICBnbG9iYWwgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCCiAgICBnbG9iYWwgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5CiAgICBfRTVfODlfQTlfRTRfQkRfOTlfRTVfQURfOTBfRTVfQkNfQjkgLT0gMQogICAgaWYgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5IDw9IDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IFRydWUKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkKICAgICAgICAgICAgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCkKICAgICAgICAgICAgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-1 网络获取时间.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-1 网络获取时间.mix index d879fa28..418fcf7f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-1 网络获取时间.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-1 网络获取时间.mix @@ -1 +1 @@ -fuhua123456782025,3,14,16,32,41ntp.aliyun.comntp.aliyun.comWHILETRUEMixlyMixly11MixlyMixly11050{}aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHByaW50KHJ0Y3RpbWUuc3RydGltZSgpWzExIDogXSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChydGN0aW1lLnN0cnRpbWUoKVsxMSA6IF0sc3BlZWQgPTUwLHNwYWNlID0gMCkKg== \ No newline at end of file +fuhua123456782025,3,14,16,32,41ntp.aliyun.comntp.aliyun.comWHILETRUEMixlyMixly11MixlyMixly11050{}aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHByaW50KHJ0Y3RpbWUuc3RydGltZSgpWzExIDogXSkKICAgIG9uYm9hcmRfbWF0cml4LnNjcm9sbChydGN0aW1lLnN0cnRpbWUoKVsxMSA6IF0sc3BlZWQgPTUwLHNwYWNlID0gMCkKg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输主机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输主机.mix index 77b8b607..53e02548 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输主机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输主机.mix @@ -1 +1 @@ -datable_cble_cble_method收到数据WHILETRUEble_cB1keyble_cB1B2keyble_cB2TrueMixly收到数据02111nameble_cMixly_SlaveException as eble_method收到数据Mixlydata收到数据data{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWFjaGluZQoKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgZ2xvYmFsIOaUtuWIsOaVsOaNrgogICAgcHJpbnQoZGF0YSkKICAgIOaUtuWIsOaVsOaNriA9IGRhdGEKCgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MucmVjdihibGVfbWV0aG9kKQrmlLbliLDmlbDmja4gPSAnJwp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2MuaXNfY29ubmVjdGVkKCk6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfYy5zZW5kKCdCMScpCiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfYy5zZW5kKCdCMicpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5pS25Yiw5pWw5o2uLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGNvbG9yKDEsMikKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQogICAgICAgIHRyeToKICAgICAgICAgICAgYmxlX2MuY29ubmVjdChuYW1lPSdNaXhseV9TbGF2ZScpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBwYXNzCg== \ No newline at end of file +datable_cble_cble_method收到数据WHILETRUEble_cB1keyble_cB1B2keyble_cB2TrueMixly收到数据02111nameble_cMixly_SlaveException as eble_method收到数据Mixlydata收到数据data{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCBtaXhnb19taW5pCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWFjaGluZQoKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgZ2xvYmFsIOaUtuWIsOaVsOaNrgogICAgcHJpbnQoZGF0YSkKICAgIOaUtuWIsOaVsOaNriA9IGRhdGEKCgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MucmVjdihibGVfbWV0aG9kKQrmlLbliLDmlbDmja4gPSAnJwp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2MuaXNfY29ubmVjdGVkKCk6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfYy5zZW5kKCdCMScpCiAgICAgICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfYy5zZW5kKCdCMicpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5pS25Yiw5pWw5o2uLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGNvbG9yKDEsMikKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQogICAgICAgIHRyeToKICAgICAgICAgICAgYmxlX2MuY29ubmVjdChuYW1lPSdNaXhseV9TbGF2ZScpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输从机.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输从机.mix index 2196d67a..da1f84ed 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输从机.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第三单元/3-2 蓝牙数据传输从机.mix @@ -1 +1 @@ -datable_xMixly_Slaveble_xble_method收到数据WHILETRUETrueMixly收到数据0ble_x21B1keyble_xB1B2keyble_xB211ble_method收到数据Mixlydata收到数据data{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWFjaGluZQoKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgZ2xvYmFsIOaUtuWIsOaVsOaNrgogICAgcHJpbnQoZGF0YSkKICAgIOaUtuWIsOaVsOaNriA9IGRhdGEKCgoKYmxlX3ggPSBibGVfcGVyaXBoZXJhbC5CTEVTaW1wbGVQZXJpcGhlcmFsKCdNaXhseV9TbGF2ZScpCmJsZV94LnJlY3YoYmxlX21ldGhvZCkK5pS25Yiw5pWw5o2uID0gJycKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOaUtuWIsOaVsOaNrixzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIGJsZV94LmlzX2Nvbm5lY3RlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGNvbG9yKDEsMikKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV94LnNlbmQoJ0IxJykKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV94LnNlbmQoJ0IyJykKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQo= \ No newline at end of file +datable_xMixly_Slaveble_xble_method收到数据WHILETRUETrueMixly收到数据0ble_x21B1keyble_xB1B2keyble_xB211ble_method收到数据Mixlydata收到数据data{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgbWFjaGluZQoKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgZ2xvYmFsIOaUtuWIsOaVsOaNrgogICAgcHJpbnQoZGF0YSkKICAgIOaUtuWIsOaVsOaNriA9IGRhdGEKCgoKYmxlX3ggPSBibGVfcGVyaXBoZXJhbC5CTEVTaW1wbGVQZXJpcGhlcmFsKCdNaXhseV9TbGF2ZScpCmJsZV94LnJlY3YoYmxlX21ldGhvZCkK5pS25Yiw5pWw5o2uID0gJycKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOaUtuWIsOaVsOaNrixzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIGJsZV94LmlzX2Nvbm5lY3RlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGNvbG9yKDEsMikKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV94LnNlbmQoJ0IxJykKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV94LnNlbmQoJ0IyJykKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0Y29sb3IoMSwxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-1 采集环境声音.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-1 采集环境声音.mix index 39c2209c..d9383ecc 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-1 采集环境声音.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-1 采集环境声音.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC5zb3VuZGxldmVsKCkpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-2 红外测距测试.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-2 红外测距测试.mix index 27e8ba9e..4c7b0913 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-2 红外测距测试.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-2 红外测距测试.mix @@ -1 +1 @@ -WHILETRUETrueMixlyintZHENGCHU1100s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGludCgob25ib2FyZF9hbHMucHNfbmwoKSAvLyAxMCkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUETrueMixlyintZHENGCHU1100s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKGludCgob25ib2FyZF9hbHMucHNfbmwoKSAvLyAxMCkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-3 模拟倒车雷达.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-3 模拟倒车雷达.mix index 0e34557b..2067a066 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-3 模拟倒车雷达.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-3 模拟倒车雷达.mix @@ -1 +1 @@ -WHILETRUE红外接近数值TrueMixlyintZHENGCHU1红外接近数值100GT红外接近数值406591000ZHENGCHU100001红外接近数值ms1ZHENGCHU100001红外接近数值{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDnuqLlpJbmjqXov5HmlbDlgLwgPSBvbmJvYXJkX2Fscy5wc19ubCgpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhpbnQoKOe6ouWkluaOpei/keaVsOWAvCAvLyAxMCkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgaWYg57qi5aSW5o6l6L+R5pWw5YC8ID4gNDA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgKDEwMDAwIC8vIOe6ouWkluaOpei/keaVsOWAvCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8g57qi5aSW5o6l6L+R5pWw5YC8KSkK \ No newline at end of file +WHILETRUE红外接近数值TrueMixlyintZHENGCHU1红外接近数值100GT红外接近数值406591000ZHENGCHU100001红外接近数值ms1ZHENGCHU100001红外接近数值{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDnuqLlpJbmjqXov5HmlbDlgLwgPSBvbmJvYXJkX2Fscy5wc19ubCgpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhpbnQoKOe6ouWkluaOpei/keaVsOWAvCAvLyAxMCkpLHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQogICAgaWYg57qi5aSW5o6l6L+R5pWw5YC8ID4gNDA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgKDEwMDAwIC8vIOe6ouWkluaOpei/keaVsOWAvCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8g57qi5aSW5o6l6L+R5pWw5YC8KSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-5 RFID读卡测试.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-5 RFID读卡测试.mix index 95907adb..2866e52f 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-5 RFID读卡测试.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-5 RFID读卡测试.mix @@ -1 +1 @@ -WHILETRUE卡号NEQx卡号NoneMixly卡号659100s1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBwcmludCjljaHlj7cpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE卡号NEQx卡号NoneMixly卡号659100s1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBwcmludCjljaHlj7cpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-6 RFID写卡充值.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-6 RFID写卡充值.mix index 3baace41..f4d9fe48 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-6 RFID写卡充值.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第二单元/2-6 RFID写卡充值.mix @@ -1 +1 @@ -金额WHILETRUEB2key卡号NEQx卡号None20B1key卡号NEQx卡号None50电子钱包充值原值intxmytupx010MixlyxADD1原值1金额TrueMixlyADD1原值1金额0659100Mixly已充值;Mixlyx金额Mixly当前余额:MixlyxADD1原值1金额onboard_matrix.NO131100电子钱包初始化0Mixlyx金额TrueMixly金额0659100Mixly发卡成功:Mixlyx金额onboard_matrix.NO131100{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmRlZiDnlLXlrZDpkrHljIXlhYXlgLwo6YeR6aKdKToKICAgIOWOn+WAvCA9IGludCh0dXBsZShleHRfcmZpZC5yZWFkX2NhcmQoMCkpWzFdKQogICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZChzdHIoKOWOn+WAvCArIOmHkeminSkpLDApOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWOn+WAvCArIOmHkeminSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgcHJpbnQoKCflt7LlhYXlgLw7JyArIHN0cijph5Hpop0pKSkKICAgICAgICBwcmludCgoJ+W9k+WJjeS9memine+8micgKyBzdHIoKOWOn+WAvCArIOmHkeminSkpKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQoKZGVmIOeUteWtkOmSseWMheWIneWni+WMlijph5Hpop0pOgogICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZChzdHIo6YeR6aKdKSwwKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjph5Hpop0sc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KCgn5Y+R5Y2h5oiQ5Yqf77yaJyArIHN0cijph5Hpop0pKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQoKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICAgICAgaWYgc3RyKOWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgICAgICDnlLXlrZDpkrHljIXliJ3lp4vljJYoMjApCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIo5Y2h5Y+3KSAhPSAnTm9uZSc6CiAgICAgICAgICAgIOeUteWtkOmSseWMheWFheWAvCg1MCkK \ No newline at end of file +金额WHILETRUEB2key卡号NEQx卡号None20B1key卡号NEQx卡号None50电子钱包充值原值intxmytupx010MixlyxADD1原值1金额TrueMixlyADD1原值1金额0659100Mixly已充值;Mixlyx金额Mixly当前余额:MixlyxADD1原值1金额onboard_matrix.NO131100电子钱包初始化0Mixlyx金额TrueMixly金额0659100Mixly发卡成功:Mixlyx金额onboard_matrix.NO131100{}aW1wb3J0IG1peGdvX21pbmkKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmRlZiDnlLXlrZDpkrHljIXlhYXlgLwo6YeR6aKdKToKICAgIOWOn+WAvCA9IGludCh0dXBsZShleHRfcmZpZC5yZWFkX2NhcmQoMCkpWzFdKQogICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZChzdHIoKOWOn+WAvCArIOmHkeminSkpLDApOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWOn+WAvCArIOmHkeminSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgcHJpbnQoKCflt7LlhYXlgLw7JyArIHN0cijph5Hpop0pKSkKICAgICAgICBwcmludCgoJ+W9k+WJjeS9memine+8micgKyBzdHIoKOWOn+WAvCArIOmHkeminSkpKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQoKZGVmIOeUteWtkOmSseWMheWIneWni+WMlijph5Hpop0pOgogICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZChzdHIo6YeR6aKdKSwwKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjph5Hpop0sc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KCgn5Y+R5Y2h5oiQ5Yqf77yaJyArIHN0cijph5Hpop0pKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvd3Mob25ib2FyZF9tYXRyaXguTk8pCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDEzMSwgMTAwKQoKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICAgICAgaWYgc3RyKOWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgICAgICDnlLXlrZDpkrHljIXliJ3lp4vljJYoMjApCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIo5Y2h5Y+3KSAhPSAnTm9uZSc6CiAgICAgICAgICAgIOeUteWtkOmSseWMheWFheWAvCg1MCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-1 图书馆自动开关门.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-1 图书馆自动开关门.mix index 8fdc2191..600b8fe2 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-1 图书馆自动开关门.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-1 图书馆自动开关门.mix @@ -1 +1 @@ -WHILETRUEonboard_matrix.DOOR_CLOSEGT100onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_OPENtrueLT40onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCA0MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQo= \ No newline at end of file +WHILETRUEonboard_matrix.DOOR_CLOSEGT100onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_OPENtrueLT40onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_CLOSE{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfQ0xPU0UpCiAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCA0MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-2 图书馆人数统计.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-2 图书馆人数统计.mix index 9ce47b73..26874f08 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-2 图书馆人数统计.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-2 图书馆人数统计.mix @@ -1 +1 @@ -馆内人数0WHILETRUEGT100ADD馆内人数1onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_OPENtrueLT40onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_CLOSETrueMixly馆内人数0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK6aaG5YaF5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICDppoblhoXkurrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCA0MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOmmhuWGheS6uuaVsCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file +馆内人数0WHILETRUEGT100ADD馆内人数1onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_OPENtrueLT40onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_CLOSETrueMixly馆内人数0{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK6aaG5YaF5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHMucHNfbmwoKSA+IDEwMDoKICAgICAgICDppoblhoXkurrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzLnBzX25sKCkgPCA0MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4LkRPT1JfT1BFTklORykKICAgICAgICB0aW1lLnNsZWVwKDAuMykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOmmhuWGheS6uuaVsCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-3 图书馆满员提示.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-3 图书馆满员提示.mix index c180685d..bd611a25 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-3 图书馆满员提示.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-3 图书馆满员提示.mix @@ -1 +1 @@ -馆内人数0WHILETRUELT馆内人数9GT100ADD馆内人数1onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_OPENtrueLT40onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_CLOSETrueMixly馆内人数00onboard_matrix.NO{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK6aaG5YaF5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYg6aaG5YaF5Lq65pWwIDwgOToKICAgICAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgICAgICDppoblhoXkurrmlbAgKz0gMQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU5JTkcpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4zKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICBpZiAob25ib2FyZF9hbHMucHNfbmwoKSA8IDQwKToKICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU5JTkcpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4zKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjppoblhoXkurrmlbAsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQo= \ No newline at end of file +馆内人数0WHILETRUELT馆内人数9GT100ADD馆内人数1onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_OPENtrueLT40onboard_matrix.DOOR_OPENINGs0.3onboard_matrix.DOOR_CLOSETrueMixly馆内人数00onboard_matrix.NO{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCgoK6aaG5YaF5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYg6aaG5YaF5Lq65pWwIDwgOToKICAgICAgICBpZiBvbmJvYXJkX2Fscy5wc19ubCgpID4gMTAwOgogICAgICAgICAgICDppoblhoXkurrmlbAgKz0gMQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU5JTkcpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4zKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU4pCiAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICBpZiAob25ib2FyZF9hbHMucHNfbmwoKSA8IDQwKToKICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX09QRU5JTkcpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4zKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5ET09SX0NMT1NFKQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjppoblhoXkurrmlbAsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKG9uYm9hcmRfbWF0cml4Lk5PKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-4 图书馆模拟温度控制.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-4 图书馆模拟温度控制.mix index 2850afc0..848d6e28 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-4 图书馆模拟温度控制.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第五单元/5-4 图书馆模拟温度控制.mix @@ -1 +1 @@ -WHILETRUE模拟温度输入int50-100100040GT模拟温度输入300,1,2,303601i0i{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIOaooeaLn+a4qeW6pui+k+WFpSA9IGludCgobWF0aF9tYXAob25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKSwgKC0xMDApLCAxMDAsIDAsIDQwKSkpCiAgICBpZiDmqKHmi5/muKnluqbovpPlhaUgPiAzMDoKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCAzNjAsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT1pKQo= \ No newline at end of file +WHILETRUE模拟温度输入int50-100100040GT模拟温度输入300,1,2,303601i0i{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CgoKd2hpbGUgVHJ1ZToKICAgIOaooeaLn+a4qeW6pui+k+WFpSA9IGludCgobWF0aF9tYXAob25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKSwgKC0xMDApLCAxMDAsIDAsIDQwKSkpCiAgICBpZiDmqKHmi5/muKnluqbovpPlhaUgPiAzMDoKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCAzNjAsIDEpOgogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5wb2ludGVybihhbmdsZT1pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-1 本地控制单路灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-1 本地控制单路灯.mix index c2971252..1351e8aa 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-1 本地控制单路灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-1 本地控制单路灯.mix @@ -1 +1 @@ -WHILETRUE光照值intTrueMixly光照值0LT光照值4011211020s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOWFieeFp+WAvCA8IDQwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUE光照值intTrueMixly光照值0LT光照值4011211020s1{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2Fscwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIGlmIOWFieeFp+WAvCA8IDQwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-2 定时上报光照强度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-2 定时上报光照强度.mix index ed733623..4290c9d5 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-2 定时上报光照强度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-2 定时上报光照强度.mix @@ -1 +1 @@ -fuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE光照值intTrueMixly光照值0光照强度msg光照值s5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YScsJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIOWFieeFp+WAvCA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjlhYnnhaflgLwsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhaflvLrluqYnLCDlhYnnhaflgLwpCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file +fuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE光照值intTrueMixly光照值0光照强度msg光照值s5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YScsJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIOWFieeFp+WAvCA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjlhYnnhaflgLwsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhaflvLrluqYnLCDlhYnnhaflgLwpCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 订阅光照强度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 订阅光照强度.mix index 99bcc393..15a61c52 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 订阅光照强度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 订阅光照强度.mix @@ -1 +1 @@ -clienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo光照强度methodWHILETRUEmethodMixlymsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIHByaW50KG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YWJ54Wn5by65bqmJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflhYnnhaflvLrluqYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo光照强度methodWHILETRUEmethodMixlymsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIHByaW50KG1zZykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YWJ54Wn5by65bqmJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflhYnnhaflvLrluqYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 远程控制路灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 远程控制路灯.mix index 29b5595a..c6176fc4 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 远程控制路灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-3 远程控制路灯.mix @@ -1 +1 @@ -clienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关灯methodWHILETRUEmethodEQmsgon1121EQmsgoff1020{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICdvbic6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1zZyA9PSAnb2ZmJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YScsJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+eBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关灯methodWHILETRUEmethodEQmsgon1121EQmsgoff1020{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbGVkCgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICdvbic6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1zZyA9PSAnb2ZmJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YScsJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+eBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度.mix index 4c76332c..f089b4ea 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度.mix @@ -1 +1 @@ -timfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号timPERIODICtim5000tim_callbackWHILETRUE光照值intTrueMixly光照值0tim_callback光照信息msg"路灯编号""光照强度"路灯编号光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IG1peHB5CgoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54Wn5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui3r+eBr+e8luWPtyI66Lev54Gv57yW5Y+3LCAi5YWJ54Wn5by65bqmIjrlhYnnhaflgLx9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9IGhleGxpZnkobWFjaGluZS51bmlxdWVfaWQoKSkuZGVjb2RlKCkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDlhYnnhaflgLwgPSBpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5YWJ54Wn5YC8LHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file +timfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号timPERIODICtim5000tim_callbackWHILETRUE光照值intTrueMixly光照值0tim_callback光照信息msg"路灯编号""光照强度"路灯编号光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IG1peHB5CgoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54Wn5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui3r+eBr+e8luWPtyI66Lev54Gv57yW5Y+3LCAi5YWJ54Wn5by65bqmIjrlhYnnhaflgLx9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9IGhleGxpZnkobWFjaGluZS51bmlxdWVfaWQoKSkuZGVjb2RlKCkKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDlhYnnhaflgLwgPSBpbnQob25ib2FyZF9hbHMuYWxzX3ZpcygpKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5YWJ54Wn5YC8LHNwYWNlID0gMCxjZW50ZXIgPSBUcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度书中写法.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度书中写法.mix index c1f2445d..f2965ae5 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度书中写法.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-4 定时器多路灯上报光照强度书中写法.mix @@ -1 +1 @@ -timfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号B板timPERIODICtim5000tim_callbackWHILETRUE光照值intTrueMixly光照值0tim_callback光照信息Hello路灯编号光照信息msg光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICjot6/nga/nvJblj7cgKyAn5YWJ54Wn5L+h5oGvJyksIOWFieeFp+WAvCkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9ICdC5p2/Jwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIOWFieeFp+WAvCA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjlhYnnhaflgLwsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file +timfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号B板timPERIODICtim5000tim_callbackWHILETRUE光照值intTrueMixly光照值0tim_callback光照信息Hello路灯编号光照信息msg光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICjot6/nga/nvJblj7cgKyAn5YWJ54Wn5L+h5oGvJyksIOWFieeFp+WAvCkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9ICdC5p2/Jwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIOWFieeFp+WAvCA9IGludChvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93cyjlhYnnhaflgLwsc3BhY2UgPSAwLGNlbnRlciA9IFRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯.mix index 636ec072..bbc2e1fb 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯.mix @@ -1 +1 @@ -timclienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号timPERIODICtim5000tim_callback光照信息method开关灯methodWHILETRUE光照值intTrueMixly光照值0methodEQtopic光照信息Mixlymydict{"name":"Mixly","color":"green"}msgEQmsgon11211020tim_callback光照信息msg"路灯编号""光照强度"路灯编号光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IGpzb24KZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4cHkKCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiB0b3BpYyA9PSAn5YWJ54Wn5L+h5oGvJzoKICAgICAgICBwcmludChqc29uLmR1bXBzKGpzb24ubG9hZHMobXNnKSkpCiAgICBlbHNlOgogICAgICAgIGlmIG1zZyA9PSAnb24nOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFp+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLot6/nga/nvJblj7ciOui3r+eBr+e8luWPtywgIuWFieeFp+W8uuW6piI65YWJ54Wn5YC8fSkpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhJywnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQrot6/nga/nvJblj7cgPSBoZXhsaWZ5KG1hY2hpbmUudW5pcXVlX2lkKCkpLmRlY29kZSgpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwMCwgbW9kZSA9IG1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrID0gdGltX2NhbGxiYWNrKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+WFieeFp+S/oeaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5YWJ54Wn5L+h5oGvJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+eBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file +timclienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号timPERIODICtim5000tim_callback光照信息method开关灯methodWHILETRUE光照值intTrueMixly光照值0methodEQtopic光照信息Mixlymydict{"name":"Mixly","color":"green"}msgEQmsgon11211020tim_callback光照信息msg"路灯编号""光照强度"路灯编号光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKaW1wb3J0IGpzb24KZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4cHkKCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiB0b3BpYyA9PSAn5YWJ54Wn5L+h5oGvJzoKICAgICAgICBwcmludChqc29uLmR1bXBzKGpzb24ubG9hZHMobXNnKSkpCiAgICBlbHNlOgogICAgICAgIGlmIG1zZyA9PSAnb24nOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFp+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLot6/nga/nvJblj7ciOui3r+eBr+e8luWPtywgIuWFieeFp+W8uuW6piI65YWJ54Wn5YC8fSkpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhJywnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQrot6/nga/nvJblj7cgPSBoZXhsaWZ5KG1hY2hpbmUudW5pcXVlX2lkKCkpLmRlY29kZSgpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwMCwgbW9kZSA9IG1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrID0gdGltX2NhbGxiYWNrKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+WFieeFp+S/oeaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5YWJ54Wn5L+h5oGvJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+eBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯书中写法.mix b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯书中写法.mix index 9fe805da..e5992d2b 100644 --- a/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯书中写法.mix +++ b/boards/default/micropython_esp32c2/examples/MixGo MINI/苏版版教材示例代码/八年级/第四单元/4-5 同时控制多路灯书中写法.mix @@ -1 +1 @@ -timclienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号B板timPERIODICtim5000tim_callbackA板光照信息methodB板光照信息method开关灯methodWHILETRUE光照值intTrueMixly光照值0methodEQtopic开关灯EQmsgon11211020EQtopicA板光照信息MixlyA板光照信息:MixlymsgEQtopicB板光照信息MixlyB板光照信息:Mixlymsgtim_callback光照信息Hello路灯编号光照信息msg光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIHRvcGljID09ICflvIDlhbPnga8nOgogICAgICAgIGlmIG1zZyA9PSAnb24nOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIGVsaWYgdG9waWMgPT0gJ0Hmnb/lhYnnhafkv6Hmga8nOgogICAgICAgIHByaW50KCgnQeadv+WFieeFp+S/oeaBr++8micgKyBtc2cpKQogICAgZWxpZiB0b3BpYyA9PSAnQuadv+WFieeFp+S/oeaBryc6CiAgICAgICAgcHJpbnQoKCdC5p2/5YWJ54Wn5L+h5oGv77yaJyArIG1zZykpCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICjot6/nga/nvJblj7cgKyAn5YWJ54Wn5L+h5oGvJyksIOWFieeFp+WAvCkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9ICdC5p2/Jwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdB5p2/5YWJ54Wn5L+h5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdB5p2/5YWJ54Wn5L+h5oGvJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdC5p2/5YWJ54Wn5L+h5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdC5p2/5YWJ54Wn5L+h5oGvJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+eBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file +timclienttopicmsgfuhua12345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo路灯编号B板timPERIODICtim5000tim_callbackA板光照信息methodB板光照信息method开关灯methodWHILETRUE光照值intTrueMixly光照值0methodEQtopic开关灯EQmsgon11211020EQtopicA板光照信息MixlyA板光照信息:MixlymsgEQtopicB板光照信息MixlyB板光照信息:Mixlymsgtim_callback光照信息Hello路灯编号光照信息msg光照值{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWxzCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tYXRyaXgKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIHRvcGljID09ICflvIDlhbPnga8nOgogICAgICAgIGlmIG1zZyA9PSAnb24nOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIGVsaWYgdG9waWMgPT0gJ0Hmnb/lhYnnhafkv6Hmga8nOgogICAgICAgIHByaW50KCgnQeadv+WFieeFp+S/oeaBr++8micgKyBtc2cpKQogICAgZWxpZiB0b3BpYyA9PSAnQuadv+WFieeFp+S/oeaBryc6CiAgICAgICAgcHJpbnQoKCdC5p2/5YWJ54Wn5L+h5oGv77yaJyArIG1zZykpCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICjot6/nga/nvJblj7cgKyAn5YWJ54Wn5L+h5oGvJyksIOWFieeFp+WAvCkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEnLCcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCui3r+eBr+e8luWPtyA9ICdC5p2/Jwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGUgPSBtYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjayA9IHRpbV9jYWxsYmFjaykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdB5p2/5YWJ54Wn5L+h5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdB5p2/5YWJ54Wn5L+h5oGvJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdC5p2/5YWJ54Wn5L+h5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdC5p2/5YWJ54Wn5L+h5oGvJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+eBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAg5YWJ54Wn5YC8ID0gaW50KG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKOWFieeFp+WAvCxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/index.xml b/boards/default/micropython_esp32c2/index.xml index 958116de..ac543620 100644 --- a/boards/default/micropython_esp32c2/index.xml +++ b/boards/default/micropython_esp32c2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10mixly.wav5Mixly0MixlyMixly500MixlyMixly50010.501001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyasrllmasrasr3llmquestionllmllmcb_func灯光控制用来控制LED灯光的开关power开为true,关为falsecb_funcinfoble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10mixly.wav5Mixly0MixlyMixly500MixlyMixly50010.501001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyasrllmasrasr3llmquestionllmllmcb_func灯光控制用来控制LED灯光的开关power开为true,关为falsecb_funcinfoble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/main.bundle.1cce2904.js b/boards/default/micropython_esp32c2/main.bundle.62ae672f.js similarity index 83% rename from boards/default/micropython_esp32c2/main.bundle.1cce2904.js rename to boards/default/micropython_esp32c2/main.bundle.62ae672f.js index 5ba47332..c2bc29eb 100644 --- a/boards/default/micropython_esp32c2/main.bundle.1cce2904.js +++ b/boards/default/micropython_esp32c2/main.bundle.62ae672f.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ve{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},$e={init:function(){this.setColour(Ke),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ze={init:function(){this.setColour(Ke),this.appendValueInput("LIST").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(fe.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},et={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new fe.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(fe.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},tt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},it={init:function(){this.setColour(Ke);var e=new fe.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},nt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},st={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};et.OPERATORS=[[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],it.OPERATORS=[[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},pt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},at={init:function(){this.setColour(Ke),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ut={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},rt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},dt={init:function(){this.jsonInit({message0:fe.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ke,tooltip:fe.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:fe.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},lt={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Tt={init:function(){this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(fe.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new fe.FieldDropdown([[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ke),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ht={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Et={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(Ke),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(fe.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},ct={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},gt=230;fe.FieldTextInput.math_number_validator=function(e){return String(e)},fe.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ct={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},St={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},At={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Lt={init:function(){this.setColour(gt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Nt={init:function(){this.setColour(gt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Dt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new fe.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ft={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:fe.Msg.MATH_TRIG_TOOLTIP_SIN,COS:fe.Msg.MATH_TRIG_TOOLTIP_COS,TAN:fe.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:fe.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:fe.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:fe.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:fe.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ft={init:function(){var e=[[fe.Msg.MATH_BIN,"bin"],[fe.Msg.MATH_OCT,"oct"],[fe.Msg.MATH_HEX,"hex"]];this.setColour(gt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:fe.Msg.MATH_DEC_TOOLTIP_BIN,oct:fe.Msg.MATH_DEC_TOOLTIP_OCT,hex:fe.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},Pt={init:function(){var e=[[fe.Msg.LANG_MATH_TO_ROUND,"round"],[fe.Msg.LANG_MATH_TO_CEIL,"ceil"],[fe.Msg.LANG_MATH_TO_FLOOR,"floor"],[fe.Msg.MATH_ABS,"fabs"],[fe.Msg.MATH_SQRT,"sqrt"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:fe.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:fe.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:fe.Msg.MATH_SINGLE_TOOLTIP_SQ,round:fe.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:fe.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:fe.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Yt={init:function(){var e=[[fe.Msg.MIXLY_MAX,"max"],[fe.Msg.MIXLY_MIN,"min"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(fe.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:fe.Msg.MIXLY_TOOLTIP_MATH_MAX,min:fe.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},vt={init:function(){var e=[[fe.Msg.MATH_TWO,"two"],[fe.Msg.MATH_EIGHT,"eight"],[fe.Msg.MATH_TEN,"ten"],[fe.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(gt),this.appendDummyInput("").appendField(fe.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new fe.FieldDropdown(e),"OP").appendField(fe.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MATH_ZHW).appendField(new fe.FieldDropdown(e),"OP2").appendField(fe.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:fe.Msg.MATH_Before_two,eight:fe.Msg.MATH_Before_eight,ten:fe.Msg.MATH_Before_ten,sixteen:fe.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:fe.Msg.MATH_Behind_two,eight:fe.Msg.MATH_Behind_eight,ten:fe.Msg.MATH_Behind_ten,sixteen:fe.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Xt={init:function(){var e=[[fe.Msg.LANG_MATH_INT,"int"],[fe.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(gt),this.setOutput(!0,Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_RANDOM).appendField(new fe.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:fe.Msg.LANG_MATH_INT,float:fe.Msg.LANG_MATH_FLOAT_RANDOM};return fe.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},yt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_CONSTRAIN_TOOLTIP)}},xt={init:function(){this.setColour(gt),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(fe.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(fe.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_MAP)}},bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},Vt={init:function(){this.setColour(gt),this.appendValueInput("NUM").setCheck(Number).appendField(fe.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MATH_ROUND).appendField(fe.Msg.TEXT_KEEP),this.appendDummyInput().appendField(fe.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_ROUND_NEW_TOOLTIP)}},Gt={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"],[fe.Msg.MIXLY_TO_BITES,"b"],[fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_INT,"bti"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:fe.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Ut={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:fe.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},wt=xt,Ht={init:function(){this.setColour(gt),this.appendValueInput("VAR").appendField(fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},kt={init:function(){this.setColour(gt),this.itemCount_=1,this.setMutator(new fe.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(fe.Msg.MIXLY_PRODUCT+fe.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(fe.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(fe.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const jt={init:function(){this.setColour(Jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new fe.FieldTextInput("",fe.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(fe.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new fe.FieldImage(t,7,12,'"')}},$t={init:function(){this.setColour(Jt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(fe.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Zt={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ei={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String).appendField(fe.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ni={init:function(){this.WHERE_OPTIONS=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.TEXT_GET_INDEX_RANDOM+1+fe.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.LISTS_GET_INDEX_GET,"MODE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(fe.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+fe.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",fe.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:fe.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:fe.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:fe.Msg.TEXT_GET_INDEX_RANDOM};return fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+fe.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==fe.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new fe.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},si={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.LISTS_GET_INDEX_FROM_START+"n"+fe.Msg.TEXT_CHARAT2)}},_i={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(fe.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(fe.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},oi={init:function(){this.WHERE_OPTIONS_1=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[fe.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==fe.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new fe.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},pi={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(fe.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ai={init:function(){var e=[[fe.Msg.MIXLY_EQUALS,"==="],[fe.Msg.MIXLY_STARTSWITH,"startswith"],[fe.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new fe.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ui={init:function(){this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_COMPARETO_HELP)}},ri={init:function(){var e=[[fe.Msg.TEXT_UPPER,"upper"],[fe.Msg.TEXT_TITLE,"title"],[fe.Msg.TEXT_CAPITALIZE,"capitalize"],[fe.Msg.TEXT_SWAPCASE,"swapcase"],[fe.Msg.TEXT_LOWER,"lower"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:fe.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:fe.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:fe.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:fe.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:fe.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},di={init:function(){var e=[[fe.Msg.TEXT_LJUST,"ljust"],[fe.Msg.TEXT_CENTER,"center"],[fe.Msg.TEXT_RJUST,"rjust"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(fe.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(fe.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},li={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(fe.Msg.MIXLY_MID+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(fe.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Mi={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(fe.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(fe.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(fe.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},hi={init:function(){var e=[[fe.Msg.TEXT_TRIM_BOTH,"strip"],[fe.Msg.TEXT_TRIM_LEFT,"lstrip"],[fe.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Jt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(fe.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:fe.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:fe.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:fe.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},mi={init:function(){this.setColour(Jt),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new fe.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Tn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},hn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_KEYS),this.setTooltip(fe.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_TOOLTIP)}},En={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Rn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_DELETE_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("DICT2").setCheck("Dict").appendField(fe.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(fe.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MID),this.setTooltip(fe.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_CLEAR),this.setTooltip(fe.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_ITEMS),this.setTooltip(fe.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Sn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_VALUES),this.setTooltip(fe.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},An={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LENGTH),this.setTooltip(fe.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ln={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_DELDICT),this.setTooltip(fe.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nn={init:function(){this.MODE=[[fe.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[fe.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(fe.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=fe.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=fe.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new fe.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Dn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setTooltip(fe.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},fn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Fn={init:function(){this.setColour(ln),this.appendDummyInput("").appendField(new fe.FieldLabel(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new fe.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Pn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},vn={init:function(){this.setColour(ln),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},yn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},xn=210,bn={init:function(){var e=fe.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:fe.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:fe.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Vn={init:function(){var e=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new fe.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Bn={init:function(){var e=[[fe.Msg.LOGIC_OPERATION_AND,"AND"],[fe.Msg.LOGIC_OPERATION_OR,"OR"],[fe.Msg.LOGIC_OPERATION_NOR,"NOR"],[fe.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:fe.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:fe.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Gn={init:function(){this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(fe.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(fe.Msg.LOGIC_NEGATE_TOOLTIP)}},Un={init:function(){var e=[[fe.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[fe.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new fe.FieldDropdown(e),"BOOL"),this.setTooltip(fe.Msg.LOGIC_BOOLEAN_TOOLTIP)}},wn={init:function(){this.setColour(xn),this.setOutput(!0),this.appendDummyInput().appendField(fe.Msg.LOGIC_NULL),this.setTooltip(fe.Msg.LOGIC_NULL_TOOLTIP)}},Hn={init:function(){this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(fe.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(fe.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},kn={init:function(){var e=[[fe.Msg.TEXT_APPEND_TO,"in"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new fe.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(fe.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.IN)}},Wn={init:function(){var e=[[fe.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Kn={init:function(){this.setColour(xn),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(fe.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[fe.Msg.MIXLY_ADD,"a"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_ADD,"ab"],[fe.Msg.MIXLY_R_W,"r+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_R_W,"rb+"],[fe.Msg.MIXLY_W_R,"w+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_W_R,"wb+"],[fe.Msg.MIXLY_A_R,"a+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXPY_TEXT_ENCODE).appendField(new fe.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},jn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MICROBIT_PYTHON_TYPE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.HTML_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},ss={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _s={init:function(){this.setColour(0),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ps={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},as={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},us={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},rs={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+fe.Msg.MIXLY_ESP32_SET+{mkdir:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ds={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(fe.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ls={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.HTML_FILE,"isfile"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Ms={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(fe.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(fe.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},hs={init:function(){var e=fe.Procedures.findLegalName("",this),t=new fe.FieldTextInput(e,fe.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new fe.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&fe.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(fe.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(fe.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(fe.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(fe.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=fe.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),fe.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{fe.Events.enable()}},mutationToDom:function(e){var t=fe.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},d_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},l_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_FORM_CONTENT).appendField(new fe.FieldDropdown([[fe.Msg.HTML_TEXT,"text"],[fe.Msg.HTML_EMAIL,"email"],[fe.Msg.HTML_NUMBER,"number"],[fe.Msg.HTML_PASSWORD,"password"],[fe.Msg.HTML_CHECKBOX,"checkbox"],[fe.Msg.HTML_RADIOBUTTON,"radiobutton"],[fe.Msg.HTML_BUTTON,"button"],[fe.Msg.HTML_COLOUR,"colour"],[fe.Msg.HTML_DATE,"date"],[fe.Msg.HTML_LOCALTIME,"local time"],[fe.Msg.HTML_FILE,"file"],[fe.Msg.HTML_HIDDEN,"hidden"],[fe.Msg.HTML_IMAGE,"image"],[fe.Msg.HTML_MONTH,"month"],[fe.Msg.HTML_RANGE,"range"],[fe.Msg.HTML_RESET,"reset"],[fe.Msg.HTML_SEARCH,"search"],[fe.Msg.HTML_SUBMIT,"submit"],[fe.Msg.HTML_TELEPHONENUMBER,"telephone number"],[fe.Msg.HTML_TIME,"time"],[fe.Msg.HTML_URL,"url"],[fe.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(fe.Msg.HTML_NAME).appendField(new fe.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(fe.Msg.HTML_VALUE).appendField(new fe.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},I_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},M_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},T_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_TEXT).appendField(new fe.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},h_=160,m_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new fe.FieldTable(""),"TEXT")}},E_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT")}},O_={init:function(){this.setColour(h_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},R_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},c_={init:function(){this.setColour(h_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new fe.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},g_={init:function(){this.setColour(h_),this.appendValueInput("VALUE").appendField(fe.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},C_={init:function(){this.setColour(h_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(fe.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=fe.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},fe.isNumber(n)&&fe.isNumber(s)&&fe.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const Oa=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ra=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},ca=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},ga=function(e,t){return["None",t.ORDER_ATOMIC]},Ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Aa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},La=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Na=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Pa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ya=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ba=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Va=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ua=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},wa=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Ha=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Wa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ka=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ja=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},za=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),fe.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},vu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Xu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},yu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},bu=function(e,t){return'"},Vu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Bu=function(){return this.getFieldValue("TEXT")+"\n"},Gu=function(e){return e.getFieldValue("TEXT")+"\n"},Uu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},wu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Hu=function(){return""},ku=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Wu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},qu.scrubNakedValue=function(e){return e+"\n"},qu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},qu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},qu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,qu.COMMENT_WRAP-3),n+=qu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const zu="#74A55B",ju={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},$u={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Zu={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},er={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},tr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},ir={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},nr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},sr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},_r={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},or={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(fe.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ar={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},rr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},dr={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ir={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField("360°"+fe.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETTING+fe.Msg.blockpy_turtle_rotate+fe.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Tr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},hr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Er={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new fe.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(fe.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Or={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[fe.Msg.MOTOR_N,"ms32006.MOT_N"],[fe.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Rr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new fe.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},gr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Sr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Ar={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Lr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Nr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new fe.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["SYN6288"+fe.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+fe.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_WHETHER).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_STOPPED,"0"],[fe.Msg.MIXLY_PLAYING,"1"],[fe.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_PLAY,"1"],[fe.Msg.MIXLY_MP3_PAUSE,"2"],[fe.Msg.MIXLY_STOP,"3"],[fe.Msg.MIXLY_MP3_PREV,"4"],[fe.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(fe.Msg.MIXLY_MP3_VOL+fe.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Pr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_LOOP_ALL,"0"],[fe.Msg.MIXLY_MP3_LOOP_ONE,"1"],[fe.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[fe.Msg.MIXLY_MP3_LOOP_RAM,"3"],[fe.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[fe.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[fe.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},vr={},Xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},br={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Vr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Br={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Gr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_TRAFFIC_LIGHT).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LISTS_SET_INDEX_SET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[fe.Msg.MIXLY_SPEED,"[1]"],[fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[fe.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[fe.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[fe.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},zr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},$r={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},ed={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},td={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SERVO+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},id={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MOTOR+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},sd={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_d="#6C9858",od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},pd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_ON,"1"],[fe.Msg.MIXLY_ESP32_OFF,"0"],[fe.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ad={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},rd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ld={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LIGHT_RED,"1"],[fe.Msg.MIXLY_LIGHT_GREEN,"2"],[fe.Msg.MIXLY_LIGHT_BLUE,"3"],[fe.Msg.MIXLY_LIGHT_YELLOW,"4"],[fe.Msg.MIXLY_LIGHT_CYAN,"5"],[fe.Msg.MIXLY_LIGHT_PURPLE,"6"],[fe.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Id={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Md={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},Td={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},md={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ed={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Rd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Sd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ad={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ld={init:function(){this.setColour(_d),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Nd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Pd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},vd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Xd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour(_d),this.appendDummyInput().appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Gd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"1"],[fe.Msg.TEXT_TRIM_RIGHT,"2"],[fe.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"0"],[fe.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},qd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},zd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},jd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_RECORD_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},el={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},tl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},il={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},nl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.MIXLY_ALL+fe.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},_l={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ol={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(fe.Msg.MIXLY_RELEASE).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT)}},pl={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SPECIAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[fe.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[fe.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[fe.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[fe.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[fe.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[fe.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[fe.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[fe.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},al={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GENERAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(_d),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new fe.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(fe.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},HE={init:function(){this.jsonInit({colour:YE,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:fe.Msg.MIXLY_MICROBIT_Built_in_image1,message0:fe.Msg.MIXLY_MICROBIT_Built_in_image})}},kE={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},WE={init:function(){this.setColour(YE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(WE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"add"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},KE={init:function(){this.setColour(YE),this.appendValueInput("A").setCheck("esp32_image").appendField(fe.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},JE={init:function(){this.setColour(YE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(JE.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:fe.Msg.MIXLY_UP,shift_down:fe.Msg.MIXLY_DOWN,shift_left:fe.Msg.MIXLY_LEFT,shift_right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"shift_up"],[fe.Msg.MIXLY_DOWN,"shift_down"],[fe.Msg.MIXLY_LEFT,"shift_left"],[fe.Msg.MIXLY_RIGHT,"shift_right"]]},QE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},qE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},zE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$E={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Clear_display)}},ZE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_SHOW+fe.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(tO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},iO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(nO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},sO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(_O.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},oO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.OLED_SET_FONT).appendField(new fe.FieldDropdown(oO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+fe.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},pO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},aO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},uO={init:function(){this.setColour(YE),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(fe.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},rO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},dO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},lO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},MO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},TO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},hO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.mpython_display_hline_1,"1"],[fe.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},mO={init:function(){this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(mO.IMAGES),"path"),this.setColour(YE),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},EO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},OO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(OO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},RO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},cO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},gO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},CO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new fe.FieldDropdown(CO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[fe.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[fe.Msg.CLOCKWISE+"90"+fe.Msg.blockpy_setheading_degree,"1"],[fe.Msg.CLOCKWISE+"180"+fe.Msg.blockpy_setheading_degree,"2"],[fe.Msg.CLOCKWISE+"270"+fe.Msg.blockpy_setheading_degree,"3"]]},SO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(AO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},LO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(fe.Msg.MIXLY_AipImageClassify_Image+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},fO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},PO={init:function(){this.jsonInit({colour:YE,args0:[{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},YO={init:function(){this.jsonInit({colour:YE,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},vO={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},XO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},yO={init:function(){this.setColour(YE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(YE),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(fe.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(fe.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(fe.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(fe.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},wO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},HO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},kO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WO={init:function(){this.setColour(YE),this.appendValueInput("direct").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ERROR_RATE).appendField(new fe.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QO={init:function(){yE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qO={init:function(){BE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zO={init:function(){JE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jO={init:function(){zE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$O={init:function(){jE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ZO={init:function(){$E.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eR=180,tR={init:function(){this.setColour(eR),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(fe.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(tR.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"]]},iR={init:function(){this.setColour(eR),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(iR.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"+"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},nR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new fe.FieldDropdown(nR.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE+{height:fe.Msg.MIXLY_HEIGHT,width:fe.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[fe.Msg.MIXLY_HEIGHT,"height"],[fe.Msg.MIXLY_WIDTH,"width"]]},sR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RECT).appendField(new fe.FieldDropdown(sR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_OLED_RECT)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},_R={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new fe.FieldDropdown(_R.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},oR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new fe.FieldDropdown(oR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},pR="#777777",aR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("from ").appendField(new fe.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new fe.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("import ").appendField(new fe.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField(new fe.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ZR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PROJECT).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.appendDummyInput().appendField(fe.Msg.MIXLY_Service_quality_display).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_AT_MOST_ONCE,"0"],[fe.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},nc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},sc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_c={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ac={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},uc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},rc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(fe.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+fe.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tc={init:function(){this.VISITOR_ID=Fe.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(kR),this.appendDummyInput("").appendField(new fe.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},hc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(fe.Msg.MIXLY_REQUESTS_GET).appendField(fe.Msg.MIXLY_GET_CURRENT_TIME).appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(fe.Msg.MIXLY_INIT_SUBSCRIBE).appendField(fe.Msg.MQTT_Topic).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},cc=WR,gc=KR,Cc=JR,Sc=QR,Ac=zR,Lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc=Lc,Dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.MIXLY_API_PRIVATE_KEY).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("Ollama "+fe.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(fe.inputs.Align.RIGHT).appendField(`MixIO ${fe.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},bc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Vc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bc=225,Gc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(fe.Msg.MIXLY_NETWORK_MODE).appendField(new fe.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Uc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[fe.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=fe.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:fe.Msg.MIXLY_NETWORK_WIFI_OPEN,False:fe.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Hc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:fe.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_CONNECT+fe.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[fe.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:fe.Msg.MIXLY_ESP32_NETWORK_IP,1:fe.Msg.MIXLY_ESP32_NETWORK_MASK,2:fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},Jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(fe.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new fe.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},$c={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},eg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},tg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ig={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ng={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},sg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},_g={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},og={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},pg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ag={init:function(){this.setColour(Bc),this.appendValueInput("DOMAIN").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS_GET).appendField(new fe.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ug={init:function(){this.appendValueInput("VAL"),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(ug.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:fe.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:fe.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:fe.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},rg={init:function(){this.appendValueInput("VAR").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown(rg.METHOD),"DIR"),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:fe.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:fe.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},dg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(fe.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(new fe.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Ig="#3288dd",Mg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS).appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Tg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(fe.Msg.blockpy_REQUESTS+fe.Msg.OLED_STRING),this.appendDummyInput("").appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},hg={init:function(){this.appendValueInput("VAL"),this.setColour(Ig),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(hg.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[fe.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},mg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(fe.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Eg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(fe.Msg.MIXLY_EMQX_PORT).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Og={init:function(){this.setColour(Ig),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(fe.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Rg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"+fe.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Cg=100,Sg={init:function(){this.setColour(Cg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ag={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg="#A58C5B",vg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_IS_PRESSED)}},Xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_WAS_PRESSED)}},yg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_BUTTON+fe.Msg.MIXLY_GET_PRESSES)}},xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},bg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"],[fe.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down,freefall:fe.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Vg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Bg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Gg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(new fe.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new fe.FieldDropdown(Gg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Ug={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},wg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Hg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"left"],[fe.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(fe.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=fe.Msg.MIXLY_ESP32_NEAR;return i+{left:fe.Msg.TEXT_TRIM_LEFT,right:fe.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},kg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[fe.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},Wg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[fe.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Kg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField("DS18X20 "+fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Jg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField("LM35"+fe.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LM35)}},Qg={init:function(){this.setColour(Yg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[fe.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[fe.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[fe.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[fe.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[fe.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[fe.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[fe.Msg.HTML_COLOUR+"、"+fe.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+fe.Msg.MIXLY_NEXT+"、"+fe.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[fe.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[fe.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[fe.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[fe.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[fe.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},zg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},jg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},$g={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Zg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HELLO_XIAOZHI,"1"],[fe.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[fe.Msg.MIXLY_THE_FIRST,"3"],[fe.Msg.MIXLY_THE_SECOND,"4"],[fe.Msg.MIXLY_THE_THIRD,"5"],[fe.Msg.MIXLY_THE_FOURTH,"6"],[fe.Msg.MIXLY_THE_FIFTH,"7"],[fe.Msg.MIXLY_THE_SIXTH,"8"],[fe.Msg.MIXLY_THE_SEVENTH,"9"],[fe.Msg.MIXLY_THE_EIGHTH,"10"],[fe.Msg.MIXLY_THE_NINTH,"11"],[fe.Msg.MIXLY_THE_TENTH,"12"],[fe.Msg.MIXLY_THE_ELEVENTH,"13"],[fe.Msg.MIXLY_THE_TWELFTH,"14"],[fe.Msg.MIXLY_THE_13TH,"15"],[fe.Msg.MIXLY_THE_14TH,"16"],[fe.Msg.MIXLY_THE_15TH,"17"],[fe.Msg.MIXLY_THE_16TH,"18"],[fe.Msg.MIXLY_THE_17TH,"19"],[fe.Msg.MIXLY_THE_18TH,"20"],[fe.Msg.MIXLY_THE_19TH,"21"],[fe.Msg.MIXLY_THE_20TH,"22"],[fe.Msg.MIXLY_Turn_on_the_lights,"23"],[fe.Msg.MIXLY_Turn_off_the_lights,"24"],[fe.Msg.MIXLY_Turn_up_the_brightness,"25"],[fe.Msg.MIXLY_Turn_down_the_brightness,"26"],[fe.Msg.MIXLY_Set_it_to_red,"27"],[fe.Msg.MIXLY_Set_it_to_orange,"28"],[fe.Msg.MIXLY_Set_it_to_yellow,"29"],[fe.Msg.MIXLY_Set_it_to_green,"30"],[fe.Msg.MIXLY_Set_it_to_cyan,"31"],[fe.Msg.MIXLY_Set_it_to_blue,"32"],[fe.Msg.MIXLY_Set_it_to_purple,"33"],[fe.Msg.MIXLY_Set_it_to_white,"34"],[fe.Msg.MIXLY_Turn_on_the_fan,"35"],[fe.Msg.MIXLY_Turn_off_the_fan,"36"],[fe.Msg.MIXLY_First_gear,"37"],[fe.Msg.MIXLY_Wind_speed_second,"38"],[fe.Msg.MIXLY_Third_gear,"39"],[fe.Msg.MIXLY_Previous,"40"],[fe.Msg.MIXLY_Next_page,"41"],[fe.Msg.MIXLY_Show_smiley_face,"42"],[fe.Msg.MIXLY_Show_crying_face,"43"],[fe.Msg.MIXLY_Show_love,"44"],[fe.Msg.MIXLY_Close_display,"45"],[fe.Msg.MIXLY_Start_execution,"46"],[fe.Msg.MIXLY_FORWARD,"47"],[fe.Msg.MIXLY_BACKWARD,"48"],[fe.Msg.MIXLY_TURNLEFT,"49"],[fe.Msg.MIXLY_TURNRIGHT,"50"],[fe.Msg.MIXLY_STOP,"51"],[fe.Msg.MIXLY_Accelerate,"52"],[fe.Msg.MIXLY_retard,"53"],[fe.Msg.ROTATION_FORWARD,"54"],[fe.Msg.ROTATION_BACKWARD,"55"],[fe.Msg.MIXLY_Query_temperature,"56"],[fe.Msg.MIXLY_Query_humidity,"57"],[fe.Msg.MIXLY_Query_brightness,"58"],[fe.Msg.MIXLY_Query_sound,"59"],[fe.Msg.MIXLY_Query_time,"60"],[fe.Msg.MIXLY_Query_distance,"61"],[fe.Msg.MIXLY_Query_pressure,"62"],[fe.Msg.MIXLY_Query_key,"63"],[fe.Msg.MIXLY_Query_touch,"64"],[fe.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(fe.Msg.MIXLY_WHETHER+fe.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},tC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[fe.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[fe.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},iC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MP3_PLAY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_WIND_SPEED,"154"],[fe.Msg.MIXLY_HYETAL,"155"],[fe.Msg.MIXLY_TEMPERATURE,"156"],[fe.Msg.MIXLY_Humidity,"157"],[fe.Msg.MIXLY_Altitude,"158"],[fe.Msg.MIXLY_SOUND,"159"],[fe.Msg.MIXLY_BRIGHTNESS,"160"],[fe.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[fe.Msg.MIXLY_SERVO,"162"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[fe.Msg.MIXLY_BUTTON2,"164"],[fe.Msg.MIXLY_ESP32_TOUCH,"165"],[fe.Msg.MIXLY_PAY,"166"],[fe.Msg.MIXLY_CARSH_CHANGE,"167"],[fe.Msg.MIXLY_COUNTDOWN,"168"],[fe.Msg.MIXLY_TIMING,"169"],[fe.Msg.MIXLY_AT_THE_MOMENT,"170"],[fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[fe.Msg.MIXLY_FORWARD,"172"],[fe.Msg.MIXLY_BACKWARD,"173"],[fe.Msg.MIXLY_TURNLEFT,"174"],[fe.Msg.MIXLY_TURNRIGHT,"175"],[fe.Msg.MIXLY_STOP,"176"],[fe.Msg.MIXLY_Accelerate,"177"],[fe.Msg.MIXLY_retard,"178"],[fe.Msg.ROTATION_FORWARD,"179"],[fe.Msg.ROTATION_BACKWARD,"180"],[fe.Msg.TUPLE_JOIN,"181"],[fe.Msg.MIXLY_SHOW,"182"],[fe.Msg.MIXLY_LAMPLIGHT,"183"],[fe.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(fe.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_UNIT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_YEAR,"117"],[fe.Msg.MIXLY_MONTH,"118"],[fe.Msg.MIXLY_DAY,"119"],[fe.Msg.MIXLY_HOUR,"120"],[fe.Msg.MIXLY_MINUTE,"121"],[fe.Msg.MIXLY_SECOND,"122"],[fe.Msg.MIXLY_WEEK2,"123"],[fe.Msg.MIXLY_RMB_UNIT,"124"],[fe.Msg.blockpy_setheading_degree,"125"],[fe.Msg.MIXLY_GEAR,"126"],[fe.Msg.MIXLY_LAYER,"127"],[fe.Msg.MIXLY_GRAM,"128"],[fe.Msg.MIXLY_METER,"129"],[fe.Msg.MIXLY_CENTIMETER,"130"],[fe.Msg.MIXLY_MILLIMETER,"131"],[fe.Msg.MIXLY_LUMEN,"132"],[fe.Msg.MIXLY_DECIBEL,"133"],[fe.Msg.MIXLY_hectopascal,"134"],[fe.Msg.MIXLY_PERCENT,"135"],[fe.Msg.MIXLY_CELSIUS,"136"],[fe.Msg.MIXLY_METER_PER_SEC,"137"],[fe.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[fe.Msg.MIXLY_SUCCESS,"140"],[fe.Msg.MIXLY_FAILED,"141"],[fe.Msg.MIXLY_WRONG,"142"],[fe.Msg.MIXLY_GOOD,"143"],[fe.Msg.MIXLY_blockpy_set_add,"144"],[fe.Msg.MIXLY_DECREASE,"145"],[fe.Msg.COLOUR_RGB_RED,"146"],[fe.Msg.COLOUR_RGB_ORANGE,"147"],[fe.Msg.COLOUR_YELLOW,"148"],[fe.Msg.COLOUR_RGB_GREEN,"149"],[fe.Msg.COLOUR_CYAN,"150"],[fe.Msg.COLOUR_RGB_BLUE,"151"],[fe.Msg.COLOUR_RGB_PURPLE,"152"],[fe.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_SYSTEM+fe.Msg.MIXLY_CMD).appendField(new fe.FieldDropdown([[fe.Msg.MILXY_ENTER_WAKE_UP,"1"],[fe.Msg.MIXLY_INCREASE_VOLUME,"202"],[fe.Msg.MIXLY_REDUCE_VOLUME,"203"],[fe.Msg.MIXLY_MAX_VOLUME,"204"],[fe.Msg.MIXLY_MINIMUM,"205"],[fe.Msg.MIXLY_OPEN_RESPONSE,"206"],[fe.Msg.MIXLY_CLOSE_RESPONSE,"207"],[fe.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[fe.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[fe.Msg.MIXLY_ESP32_MAX30102_IR+","+fe.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_C={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[fe.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[fe.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},pC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+fe.Msg.HTML_COLOUR,"[2]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_IR_STRENGTH,"[1]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},aC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+"RGB"+fe.Msg.HTML_COLOUR,"0"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_RGB_RAW,"1"],[fe.Msg.MIXLY_GET_ENV_LIGHT+fe.Msg.MIXLY_BRIGHTNESS,"2"],[fe.Msg.GET_IR_STRENGTH+fe.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_ENV_LIGHT,"E"],[fe.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},lC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},IC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},TC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(fe.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MIXGOPE_FIELD+fe.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[fe.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},EC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},OC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},RC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET+fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},cC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},gC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},CC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_GETTEMPERATUE)}},SC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},AC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},LC={init:function(){this.setColour(Yg),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},NC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[fe.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},DC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},fC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},FC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},PC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},YC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"0"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},XC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},yC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1)o=i+".function_call("+_+", "+n+", "+s+", ("+o.join(", ")+"))\n";else if(1==this.itemCount_)o=i+".function_call("+_+", "+n+", "+s+", "+o.join(", ")+")\n";else o=i+".function_call("+_+", "+n+", "+s+")\n";return o},DY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},fY=function(e,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},FY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},PY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},YY=function(){return"blynk_timer.run()\n"},vY=function(){return"blynk.run()\n"},XY=function(e,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},yY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},xY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},bY=function(e,t){t.definitions_.import_blynktimer="import blynktimer";var i=t.valueToCode(this,"Num",t.ORDER_ATOMIC),n=t.valueToCode(this,"period",t.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),_=t.statementToCode(this,"DO");return _=t.addLoopTrap(_,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+_,""},VY=function(e,t){var i=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+i+")\n"},BY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),n=t.statementToCode(this,"DO");return n=t.addLoopTrap(n,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},GY=function(e,t){var i=t.valueToCode(this,"body",t.ORDER_ATOMIC),n=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${n}, ${i})\n`},UY=function(e,t){var i=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${i})\n`},wY=function(e,t){t.definitions_.import_BlynkLib="import blynklib";var i=t.valueToCode(this,"server",t.ORDER_ATOMIC),n=t.valueToCode(this,"auth",t.ORDER_ATOMIC),s=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},HY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return["handle.read_bat()",t.ORDER_ATOMIC]},kY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_joystick()"+i,t.ORDER_ATOMIC]},WY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_key("+i+")",t.ORDER_ATOMIC]},KY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return"handle.shutdown()"},JY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},QY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_mini"==i?t.definitions_.import_mini_go_car="from mini_go import car":"mixgo_ce"==i&&(t.definitions_.import_ce_go_car="from ce_go import car"),"car.setonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},qY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},zY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},jY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),"car.setbrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},$Y=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'", '+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},ZY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'")\n'},ev=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car");var n=this.getFieldValue("wheel"),s=this.getFieldValue("direction");return 0==n&&("CW"==s?s="CCW":"CCW"==s&&(s="CW")),"car.motor(car.MOTO["+n+'], "'+s+'", '+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},tv=function(e,t){var i=this.getFieldValue("mode"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==n?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==n&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},iv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i);var _=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+_+", distance="+_+")\n":"hall_"+i+".initial("+n+"="+_+")\n"},nv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),["hall_"+i+"."+n,t.ORDER_ATOMIC]},sv=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.patrol()"+i,t.ORDER_ATOMIC]},_v=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.obstacle()"+i,t.ORDER_ATOMIC]},ov=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),"car.ir_mode(car."+i+")\n"},pv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa":"mixgo_ce"==i?t.definitions_.import_mixgo_ce_onboard_mxc6655xa="from mixgo_ce import onboard_mxc6655xa":"mixgo_mini"==i&&(t.definitions_.import_mini_onboard_mxc6655xa="from mini_go import onboard_mxc6655xa"),["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},av=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.light()"+i,t.ORDER_ATOMIC]},uv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_car"]="from "+i+" import car";return["car()",t.ORDER_ATOMIC]},rv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"("+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},dv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"()\n"},lv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_itr_dnum("+this.getFieldValue("key")+")",t.ORDER_ATOMIC]},Iv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_distance()",t.ORDER_ATOMIC]},Mv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},Tv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},hv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"RX",t.ORDER_ATOMIC),n=t.valueToCode(this,"TX",t.ORDER_ATOMIC),s=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+n+"), sda=machine.Pin("+i+"), freq="+s+")\n"},mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ev=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Ov=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Rv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},cv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},gv=function(e,t){var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+i]="Wire.begin("+i+");",t.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[n]=s,""},Cv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"freq",t.ORDER_ATOMIC),s=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),_=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return i+" = machine.SoftSPI(baudrate="+n+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+s+"), miso=machine.Pin("+_+"))\n"},Sv=function(e,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Av=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},Pv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'), "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Yv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},vv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Xv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},yv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},bv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},Vv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==s&&"RC5"==n)var _="ir_rx = irremote.RC5_RX("+i+")\n";else if("RC5"==n)_="ir_rx = irremote.RC5_RX("+i+", "+s+")\n";else if(""==s)_="ir_rx = irremote.NEC_RX("+i+", "+n+")\n";else _="ir_rx = irremote.NEC_RX("+i+", "+n+", "+s+")\n";return _},Bv=function(e,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},Gv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},Uv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==n)var _="ir_tx = irremote.RC5_TX("+i+", "+s+")\n";else _="ir_tx = irremote.NEC_TX("+i+", "+n+", "+s+")\n";return _},kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},Qv=function(e,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},qv=function(e,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+i+")\n"},zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},jv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+i+")\n"},$v=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},Zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},eX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},tX=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+i+")\n"},iX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},nX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},sX=function(e,t){t.definitions_.import_ble_handle="import ble_handle";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return i+"=ble_handle.Handle()\n"+i+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},_X=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+this.getFieldValue("op")+")\n"},oX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},pX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},aX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},uX=function(e,t){t.definitions_.import_radio="import radio";var i=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+i,t.ORDER_ATOMIC]},rX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},dX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},lX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},IX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},MX=function(e,t){t.definitions_.import_radio="import radio";var i=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow(channel=1, txpower="+i+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},TX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},hX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},EX=function(e,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},OX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+i,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const RX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var n=e.getFieldValue("msg"),s=function(e){for(var t=function(e,t){for(var i=[],n=0,s=0;s>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},PX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},YX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},vX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},XX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},yX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},bX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},BX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},GX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},UX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},wX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},HX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},kX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},WX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},KX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},JX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},QX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},qX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},zX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},jX=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},$X=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},ey=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},ty=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},iy=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},ny=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},sy=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},_y=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},oy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},py=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ay=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},uy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ry=function(e,t){t.definitions_.import_st7789="import st7789";var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},dy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ly=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Iy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},My=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Ty=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},hy=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},my=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ey=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Oy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Ry=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},cy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},gy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Cy=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Fe.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Sy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ay=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ny=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Dy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Py=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},vy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Xy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},xy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},by=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Vy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},By=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Gy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},Uy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Hy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},Ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Jy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Qy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},qy=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},Xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},yx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Gx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Ux=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Hx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},zx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},$x=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Zx=By,eb=sx,tb=tx,ib=sx,nb=_x,sb=jy,_b=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},ob=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},pb=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},LH=function(){return"control.reset()\n"},NH=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},DH=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},fH=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},FH=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},PH=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},YH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},vH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XH=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},yH=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},xH=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},bH=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},VH=function(){return"while True:\n pass\n"},BH=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},GH=function(e,t){return t.definitions_.import_os="import os","os.uname()"},UH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},wH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HH=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},kH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},WH=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},KH=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},JH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},QH=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},qH=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},zH=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},jH=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},$H=KH,ZH=JH,ek=WH,tk=UH,ik=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},nk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_k=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},ok=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},pk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},ak=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},uk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},rk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},dk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},lk=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},Ik=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Mk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Tk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},hk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},mk='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ek}=Fe,Ok=Ek.render(mk,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:Rk}=Fe,ck=Rk.render(mk,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:gk}=Fe,Ck=gk.render(mk,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),Sk=new fe.Generator("Python");Sk.INDENT=" ",Sk.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Sk.ORDER_ATOMIC=0,Sk.ORDER_COLLECTION=1,Sk.ORDER_STRING_CONVERSION=1,Sk.ORDER_UNARY_POSTFIX=1,Sk.ORDER_UNARY_PREFIX=2,Sk.ORDER_MEMBER=2.1,Sk.ORDER_FUNCTION_CALL=2.2,Sk.ORDER_EXPONENTIATION=3,Sk.ORDER_UNARY_SIGN=4,Sk.ORDER_BITWISE_NOT=4,Sk.ORDER_MULTIPLICATIVE=5,Sk.ORDER_ADDITIVE=6,Sk.ORDER_BITWISE_SHIFT=7,Sk.ORDER_BITWISE_AND=8,Sk.ORDER_BITWISE_XOR=9,Sk.ORDER_BITWISE_OR=10,Sk.ORDER_RELATIONAL=11,Sk.ORDER_EQUALITY=11,Sk.ORDER_LOGICAL_NOT=12,Sk.ORDER_LOGICAL_AND=13,Sk.ORDER_LOGICAL_OR=14,Sk.ORDER_ASSIGNMENT=14,Sk.ORDER_CONDITIONAL=15,Sk.ORDER_LAMBDA=16,Sk.ORDER_NONE=99,Sk.ORDER_OVERRIDES=[[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_MEMBER],[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_FUNCTION_CALL],[Sk.ORDER_MEMBER,Sk.ORDER_MEMBER],[Sk.ORDER_MEMBER,Sk.ORDER_FUNCTION_CALL]],Sk.init=function(){Sk.PASS=this.INDENT+"pass\n",Sk.definitions_=Object.create(null),Sk.functionNames_=Object.create(null),Sk.setups_=Object.create(null),Sk.loops_=Object.create(null),Sk.codeEnd_=Object.create(null),Sk.variableDB_?Sk.variableDB_.reset():Sk.variableDB_=new Xe(Sk.RESERVED_WORDS_)},Sk.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in Sk.functions_)o.push(Sk.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in Sk.setups_)p.push(Sk.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in Sk.loops_)a.push(Sk.loops_[s]);var u=[];for(var s in Sk.codeEnd_)u.push(Sk.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},Sk.scrubNakedValue=function(e){return e+"\n"},Sk.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Sk.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Sk.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,Sk.COMMENT_WRAP-3),n+=Sk.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Ak={};Ak["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:Fe.Profile.generate(["0-10","18"]),input_pin:Fe.Profile.generate(["0-10","18"]),output_pin:Fe.Profile.generate(["0-10","18"]),pwm_input:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-4"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-10","18"]),pwm:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-4"]),analog:Fe.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-11"]),exlcdv:Fe.Profile.generate(["0-7"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Ak["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Fe.Profile.generate(["0-11","18-21"]),input_pin:Fe.Profile.generate(["0-11","18-21"]),output_pin:Fe.Profile.generate(["0-11","18-21"]),pwm_input:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-5"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-11","18-21"]),pwm:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-5"]),analog:Fe.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-31"]),exlcdv:Fe.Profile.generate(["0-11"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Lk=Ak,Nk=20,Dk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HIGH,"HIGH"],[fe.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Pk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Yk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_mSecond,"period"],[fe.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},vk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_REF_VOLTAGE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Xk={init:function(){this.setColour(Nk),this.appendValueInput("pin").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},yk={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},xk={init:function(){this.setColour(20),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_AS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[fe.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[fe.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[fe.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},bk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("dac#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Vk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("tc#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Bk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("PWM"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_FREQUENCY+fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Gk=xk,Uk=Vk,wk=Xk,Hk=yk,kk=40,Wk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Kk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$k={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"True"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zk=100,eW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[fe.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},tW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},iW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},nW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},sW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_W={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[fe.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.ROTATION_FORWARD,"CW"],[fe.Msg.ROTATION_BACKWARD,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_INTERRUPT).appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},dW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},lW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT,"[0]"],[fe.Msg.MIXGO_RIGHT_FRONT,"[1]"],[fe.Msg.MIXGO_LEFT_BACK,"[3]"],[fe.Msg.MIXGO_RIGHT_BACK,"[2]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},IW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[fe.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[fe.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[fe.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.ME_GO_PITCH,"[0]"],[fe.Msg.ME_GO_ROLL,"[1]"],[fe.Msg.ME_GO_PITCH+", "+fe.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},TW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hW=230,mW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital),"PIN"),this.setOutput(!0)}},EW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},OW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},RW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},CW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},SW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},AW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},LW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},NW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},DW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},FW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},PW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},YW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},vW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog),"PIN"),this.setOutput(!0)}},XW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},yW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac),"PIN"),this.setOutput(!0)}},xW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},bW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},VW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},BW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm),"PIN"),this.setOutput(!0)}},GW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},UW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},wW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch),"PIN"),this.setOutput(!0)}},HW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},kW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},WW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},KW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.imglist),"PIN"),this.setOutput(!0)}},JW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist),"PIN"),this.setOutput(!0)}},QW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},qW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},zW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},$W={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ZW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},eK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},tK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},iK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},nK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_K={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.one_more),"PIN"),this.setOutput(!0)}},oK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},pK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown([["0","0"]]),"PIN"),this.setOutput(!0,Number)}},aK=function(e,t){const i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ws2812x_NeoPixel="from ws2812x import NeoPixel";return`${i} = NeoPixel(machine.Pin(${n}), ${s})\n`},uK=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},rK=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},dK=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},lK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},IK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},MK=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},TK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},hK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},EK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},OK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},RK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},cK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},gK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},CK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";n='onboard_rfid.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},SK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.read_card("+n+', x="content")'}return[s,t.ORDER_ATOMIC]},AK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")\n"}return _},LK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")"}return[_,t.ORDER_ATOMIC]},NK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},DK=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},fK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},FK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},PK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},YK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},vK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},XK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yK=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},xK=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},bK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},VK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},BK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},GK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},UK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wK=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},HK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},kK=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},WK=kK,KK=kK,JK=kK,QK=kK,qK=kK,zK=kK,jK=kK,$K=kK,ZK=kK,eJ=kK,tJ=kK,iJ=kK,nJ=kK,sJ=kK,_J=kK,oJ=kK,pJ=kK,aJ=kK,uJ=kK,rJ=kK,dJ=kK,lJ=kK,IJ=kK,MJ=kK,TJ=kK,hJ=kK,mJ=kK,EJ=kK,OJ=kK,RJ=kK,cJ=kK,gJ=kK,CJ=kK,SJ=kK,AJ=kK,LJ=kK,NJ=kK,DJ=kK,fJ=kK,FJ=kK,PJ=kK,YJ=kK,vJ=kK,XJ=kK,yJ=kK;Object.assign(fe.Variables,Ye),Object.assign(fe.Procedures,Qu),Object.assign(fe.Lang.ZhHans,me),Object.assign(fe.Lang.ZhHant,Ee),Object.assign(fe.Lang.En,Oe),fe.Python=qu,fe.generator=qu,Fe.Profile.default={},Object.assign(Fe.Profile,Lk),Object.assign(Fe.Profile.default,Lk["MixGo CC"]),Object.assign(fe.Blocks,t,i,n,s,_,o,p,a,u,r,d,l,I,G,J,K,x,U,Q,f,P,Y,W,k,w,H,F,D,N,V,b,B,v,X,y,Re,ce,ge,Ce),Object.assign(fe.Python.forBlock,M,T,h,m,E,O,R,c,g,C,S,A,L,ae,Te,Me,se,ue,he,j,$,ee,Ie,le,re,de,Z,z,q,oe,_e,pe,te,ie,ne,Se,Ae,Le,Ne,De)})(); \ No newline at end of file +class ve{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},$e={init:function(){this.setColour(Ke),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ze={init:function(){this.setColour(Ke),this.appendValueInput("LIST").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(fe.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},et={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new fe.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(fe.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},tt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},it={init:function(){this.setColour(Ke);var e=new fe.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},nt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},st={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};et.OPERATORS=[[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],it.OPERATORS=[[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},pt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},at={init:function(){this.setColour(Ke),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ut={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},rt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},dt={init:function(){this.jsonInit({message0:fe.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ke,tooltip:fe.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:fe.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},lt={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Tt={init:function(){this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(fe.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new fe.FieldDropdown([[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ke),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ht={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Et={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(Ke),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(fe.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},ct={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},gt=230;fe.FieldTextInput.math_number_validator=function(e){return String(e)},fe.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ct={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},St={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},At={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Lt={init:function(){this.setColour(gt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Nt={init:function(){this.setColour(gt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Dt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new fe.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ft={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:fe.Msg.MATH_TRIG_TOOLTIP_SIN,COS:fe.Msg.MATH_TRIG_TOOLTIP_COS,TAN:fe.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:fe.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:fe.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:fe.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:fe.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ft={init:function(){var e=[[fe.Msg.MATH_BIN,"bin"],[fe.Msg.MATH_OCT,"oct"],[fe.Msg.MATH_HEX,"hex"]];this.setColour(gt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:fe.Msg.MATH_DEC_TOOLTIP_BIN,oct:fe.Msg.MATH_DEC_TOOLTIP_OCT,hex:fe.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},Pt={init:function(){var e=[[fe.Msg.LANG_MATH_TO_ROUND,"round"],[fe.Msg.LANG_MATH_TO_CEIL,"ceil"],[fe.Msg.LANG_MATH_TO_FLOOR,"floor"],[fe.Msg.MATH_ABS,"fabs"],[fe.Msg.MATH_SQRT,"sqrt"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:fe.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:fe.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:fe.Msg.MATH_SINGLE_TOOLTIP_SQ,round:fe.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:fe.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:fe.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Yt={init:function(){var e=[[fe.Msg.MIXLY_MAX,"max"],[fe.Msg.MIXLY_MIN,"min"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(fe.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:fe.Msg.MIXLY_TOOLTIP_MATH_MAX,min:fe.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},vt={init:function(){var e=[[fe.Msg.MATH_TWO,"two"],[fe.Msg.MATH_EIGHT,"eight"],[fe.Msg.MATH_TEN,"ten"],[fe.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(gt),this.appendDummyInput("").appendField(fe.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new fe.FieldDropdown(e),"OP").appendField(fe.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MATH_ZHW).appendField(new fe.FieldDropdown(e),"OP2").appendField(fe.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:fe.Msg.MATH_Before_two,eight:fe.Msg.MATH_Before_eight,ten:fe.Msg.MATH_Before_ten,sixteen:fe.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:fe.Msg.MATH_Behind_two,eight:fe.Msg.MATH_Behind_eight,ten:fe.Msg.MATH_Behind_ten,sixteen:fe.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Xt={init:function(){var e=[[fe.Msg.LANG_MATH_INT,"int"],[fe.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(gt),this.setOutput(!0,Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_RANDOM).appendField(new fe.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:fe.Msg.LANG_MATH_INT,float:fe.Msg.LANG_MATH_FLOAT_RANDOM};return fe.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},yt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_CONSTRAIN_TOOLTIP)}},xt={init:function(){this.setColour(gt),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(fe.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(fe.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_MAP)}},bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},Vt={init:function(){this.setColour(gt),this.appendValueInput("NUM").setCheck(Number).appendField(fe.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MATH_ROUND).appendField(fe.Msg.TEXT_KEEP),this.appendDummyInput().appendField(fe.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_ROUND_NEW_TOOLTIP)}},Gt={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"],[fe.Msg.MIXLY_TO_BITES,"b"],[fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_INT,"bti"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:fe.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Ut={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:fe.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},wt=xt,Ht={init:function(){this.setColour(gt),this.appendValueInput("VAR").appendField(fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},kt={init:function(){this.setColour(gt),this.itemCount_=1,this.setMutator(new fe.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(fe.Msg.MIXLY_PRODUCT+fe.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(fe.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(fe.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const jt={init:function(){this.setColour(Jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new fe.FieldTextInput("",fe.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(fe.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new fe.FieldImage(t,7,12,'"')}},$t={init:function(){this.setColour(Jt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(fe.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Zt={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ei={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String).appendField(fe.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ni={init:function(){this.WHERE_OPTIONS=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.TEXT_GET_INDEX_RANDOM+1+fe.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.LISTS_GET_INDEX_GET,"MODE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(fe.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+fe.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",fe.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:fe.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:fe.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:fe.Msg.TEXT_GET_INDEX_RANDOM};return fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+fe.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==fe.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new fe.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},si={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.LISTS_GET_INDEX_FROM_START+"n"+fe.Msg.TEXT_CHARAT2)}},_i={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(fe.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(fe.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},oi={init:function(){this.WHERE_OPTIONS_1=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[fe.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==fe.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new fe.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},pi={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(fe.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ai={init:function(){var e=[[fe.Msg.MIXLY_EQUALS,"==="],[fe.Msg.MIXLY_STARTSWITH,"startswith"],[fe.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new fe.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ui={init:function(){this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_COMPARETO_HELP)}},ri={init:function(){var e=[[fe.Msg.TEXT_UPPER,"upper"],[fe.Msg.TEXT_TITLE,"title"],[fe.Msg.TEXT_CAPITALIZE,"capitalize"],[fe.Msg.TEXT_SWAPCASE,"swapcase"],[fe.Msg.TEXT_LOWER,"lower"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:fe.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:fe.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:fe.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:fe.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:fe.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},di={init:function(){var e=[[fe.Msg.TEXT_LJUST,"ljust"],[fe.Msg.TEXT_CENTER,"center"],[fe.Msg.TEXT_RJUST,"rjust"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(fe.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(fe.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},li={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(fe.Msg.MIXLY_MID+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(fe.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Mi={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(fe.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(fe.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(fe.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},hi={init:function(){var e=[[fe.Msg.TEXT_TRIM_BOTH,"strip"],[fe.Msg.TEXT_TRIM_LEFT,"lstrip"],[fe.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Jt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(fe.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:fe.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:fe.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:fe.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},mi={init:function(){this.setColour(Jt),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new fe.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Tn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},hn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_KEYS),this.setTooltip(fe.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_TOOLTIP)}},En={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Rn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_DELETE_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("DICT2").setCheck("Dict").appendField(fe.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(fe.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MID),this.setTooltip(fe.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_CLEAR),this.setTooltip(fe.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_ITEMS),this.setTooltip(fe.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Sn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_VALUES),this.setTooltip(fe.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},An={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LENGTH),this.setTooltip(fe.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ln={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_DELDICT),this.setTooltip(fe.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nn={init:function(){this.MODE=[[fe.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[fe.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(fe.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=fe.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=fe.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new fe.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Dn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setTooltip(fe.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},fn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Fn={init:function(){this.setColour(ln),this.appendDummyInput("").appendField(new fe.FieldLabel(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new fe.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Pn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},vn={init:function(){this.setColour(ln),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},yn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},xn=210,bn={init:function(){var e=fe.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:fe.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:fe.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Vn={init:function(){var e=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new fe.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Bn={init:function(){var e=[[fe.Msg.LOGIC_OPERATION_AND,"AND"],[fe.Msg.LOGIC_OPERATION_OR,"OR"],[fe.Msg.LOGIC_OPERATION_NOR,"NOR"],[fe.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:fe.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:fe.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Gn={init:function(){this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(fe.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(fe.Msg.LOGIC_NEGATE_TOOLTIP)}},Un={init:function(){var e=[[fe.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[fe.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new fe.FieldDropdown(e),"BOOL"),this.setTooltip(fe.Msg.LOGIC_BOOLEAN_TOOLTIP)}},wn={init:function(){this.setColour(xn),this.setOutput(!0),this.appendDummyInput().appendField(fe.Msg.LOGIC_NULL),this.setTooltip(fe.Msg.LOGIC_NULL_TOOLTIP)}},Hn={init:function(){this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(fe.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(fe.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},kn={init:function(){var e=[[fe.Msg.TEXT_APPEND_TO,"in"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new fe.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(fe.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.IN)}},Wn={init:function(){var e=[[fe.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Kn={init:function(){this.setColour(xn),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(fe.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[fe.Msg.MIXLY_ADD,"a"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_ADD,"ab"],[fe.Msg.MIXLY_R_W,"r+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_R_W,"rb+"],[fe.Msg.MIXLY_W_R,"w+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_W_R,"wb+"],[fe.Msg.MIXLY_A_R,"a+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXPY_TEXT_ENCODE).appendField(new fe.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},jn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MICROBIT_PYTHON_TYPE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.HTML_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},ss={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _s={init:function(){this.setColour(0),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ps={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},as={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},us={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},rs={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+fe.Msg.MIXLY_ESP32_SET+{mkdir:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ds={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(fe.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ls={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.HTML_FILE,"isfile"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Ms={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(fe.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(fe.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},hs={init:function(){var e=fe.Procedures.findLegalName("",this),t=new fe.FieldTextInput(e,fe.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new fe.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&fe.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(fe.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(fe.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(fe.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(fe.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=fe.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),fe.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{fe.Events.enable()}},mutationToDom:function(e){var t=fe.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},d_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},l_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_FORM_CONTENT).appendField(new fe.FieldDropdown([[fe.Msg.HTML_TEXT,"text"],[fe.Msg.HTML_EMAIL,"email"],[fe.Msg.HTML_NUMBER,"number"],[fe.Msg.HTML_PASSWORD,"password"],[fe.Msg.HTML_CHECKBOX,"checkbox"],[fe.Msg.HTML_RADIOBUTTON,"radiobutton"],[fe.Msg.HTML_BUTTON,"button"],[fe.Msg.HTML_COLOUR,"colour"],[fe.Msg.HTML_DATE,"date"],[fe.Msg.HTML_LOCALTIME,"local time"],[fe.Msg.HTML_FILE,"file"],[fe.Msg.HTML_HIDDEN,"hidden"],[fe.Msg.HTML_IMAGE,"image"],[fe.Msg.HTML_MONTH,"month"],[fe.Msg.HTML_RANGE,"range"],[fe.Msg.HTML_RESET,"reset"],[fe.Msg.HTML_SEARCH,"search"],[fe.Msg.HTML_SUBMIT,"submit"],[fe.Msg.HTML_TELEPHONENUMBER,"telephone number"],[fe.Msg.HTML_TIME,"time"],[fe.Msg.HTML_URL,"url"],[fe.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(fe.Msg.HTML_NAME).appendField(new fe.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(fe.Msg.HTML_VALUE).appendField(new fe.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},I_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},M_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},T_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_TEXT).appendField(new fe.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},h_=160,m_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new fe.FieldTable(""),"TEXT")}},E_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT")}},O_={init:function(){this.setColour(h_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},R_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},c_={init:function(){this.setColour(h_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new fe.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},g_={init:function(){this.setColour(h_),this.appendValueInput("VALUE").appendField(fe.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},C_={init:function(){this.setColour(h_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(fe.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=fe.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},fe.isNumber(n)&&fe.isNumber(s)&&fe.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const Oa=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ra=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},ca=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},ga=function(e,t){return["None",t.ORDER_ATOMIC]},Ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Aa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},La=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Na=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Pa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ya=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ba=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Va=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ua=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},wa=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Ha=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Wa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ka=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ja=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},za=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),fe.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},vu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Xu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},yu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},bu=function(e,t){return'"},Vu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Bu=function(){return this.getFieldValue("TEXT")+"\n"},Gu=function(e){return e.getFieldValue("TEXT")+"\n"},Uu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},wu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Hu=function(){return""},ku=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Wu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},qu.scrubNakedValue=function(e){return e+"\n"},qu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},qu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},qu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,qu.COMMENT_WRAP-3),n+=qu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const zu="#74A55B",ju={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},$u={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Zu={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},er={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},tr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},ir={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},nr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},sr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},_r={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},or={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(fe.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ar={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},rr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},dr={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ir={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField("360°"+fe.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETTING+fe.Msg.blockpy_turtle_rotate+fe.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Tr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},hr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Er={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new fe.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(fe.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Or={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[fe.Msg.MOTOR_N,"ms32006.MOT_N"],[fe.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Rr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new fe.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},gr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Sr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Ar={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Lr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Nr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new fe.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["SYN6288"+fe.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+fe.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_WHETHER).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_STOPPED,"0"],[fe.Msg.MIXLY_PLAYING,"1"],[fe.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_PLAY,"1"],[fe.Msg.MIXLY_MP3_PAUSE,"2"],[fe.Msg.MIXLY_STOP,"3"],[fe.Msg.MIXLY_MP3_PREV,"4"],[fe.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(fe.Msg.MIXLY_MP3_VOL+fe.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Pr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_LOOP_ALL,"0"],[fe.Msg.MIXLY_MP3_LOOP_ONE,"1"],[fe.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[fe.Msg.MIXLY_MP3_LOOP_RAM,"3"],[fe.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[fe.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[fe.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},vr={},Xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},br={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Vr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Br={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Gr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_TRAFFIC_LIGHT).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LISTS_SET_INDEX_SET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[fe.Msg.MIXLY_SPEED,"[1]"],[fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[fe.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[fe.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[fe.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},zr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},$r={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},ed={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},td={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SERVO+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},id={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MOTOR+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},sd={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_d="#6C9858",od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},pd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_ON,"1"],[fe.Msg.MIXLY_ESP32_OFF,"0"],[fe.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ad={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},rd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ld={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LIGHT_RED,"1"],[fe.Msg.MIXLY_LIGHT_GREEN,"2"],[fe.Msg.MIXLY_LIGHT_BLUE,"3"],[fe.Msg.MIXLY_LIGHT_YELLOW,"4"],[fe.Msg.MIXLY_LIGHT_CYAN,"5"],[fe.Msg.MIXLY_LIGHT_PURPLE,"6"],[fe.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Id={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Md={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},Td={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},md={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ed={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Rd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Sd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ad={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ld={init:function(){this.setColour(_d),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Nd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Pd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},vd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Xd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour(_d),this.appendDummyInput().appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Gd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"1"],[fe.Msg.TEXT_TRIM_RIGHT,"2"],[fe.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"0"],[fe.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},qd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},zd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},jd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_RECORD_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},el={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},tl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},il={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},nl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.MIXLY_ALL+fe.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},_l={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ol={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(fe.Msg.MIXLY_RELEASE).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT)}},pl={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SPECIAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[fe.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[fe.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[fe.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[fe.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[fe.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[fe.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[fe.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[fe.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},al={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GENERAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(_d),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new fe.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(fe.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},HE={init:function(){this.jsonInit({colour:YE,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:fe.Msg.MIXLY_MICROBIT_Built_in_image1,message0:fe.Msg.MIXLY_MICROBIT_Built_in_image})}},kE={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},WE={init:function(){this.setColour(YE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(WE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"add"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},KE={init:function(){this.setColour(YE),this.appendValueInput("A").setCheck("esp32_image").appendField(fe.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},JE={init:function(){this.setColour(YE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(JE.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:fe.Msg.MIXLY_UP,shift_down:fe.Msg.MIXLY_DOWN,shift_left:fe.Msg.MIXLY_LEFT,shift_right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"shift_up"],[fe.Msg.MIXLY_DOWN,"shift_down"],[fe.Msg.MIXLY_LEFT,"shift_left"],[fe.Msg.MIXLY_RIGHT,"shift_right"]]},QE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},qE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},zE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$E={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Clear_display)}},ZE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_SHOW+fe.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(tO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},iO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(nO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},sO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(_O.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},oO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.OLED_SET_FONT).appendField(new fe.FieldDropdown(oO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+fe.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},pO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},aO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},uO={init:function(){this.setColour(YE),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(fe.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},rO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},dO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},lO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},MO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},TO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},hO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.mpython_display_hline_1,"1"],[fe.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},mO={init:function(){this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(mO.IMAGES),"path"),this.setColour(YE),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},EO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},OO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(OO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},RO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},cO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},gO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},CO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new fe.FieldDropdown(CO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[fe.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[fe.Msg.CLOCKWISE+"90"+fe.Msg.blockpy_setheading_degree,"1"],[fe.Msg.CLOCKWISE+"180"+fe.Msg.blockpy_setheading_degree,"2"],[fe.Msg.CLOCKWISE+"270"+fe.Msg.blockpy_setheading_degree,"3"]]},SO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(AO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},LO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(fe.Msg.MIXLY_AipImageClassify_Image+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},fO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},PO={init:function(){this.jsonInit({colour:YE,args0:[{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},YO={init:function(){this.jsonInit({colour:YE,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},vO={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},XO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},yO={init:function(){this.setColour(YE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(YE),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(fe.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(fe.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(fe.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(fe.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},wO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},HO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},kO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WO={init:function(){this.setColour(YE),this.appendValueInput("direct").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ERROR_RATE).appendField(new fe.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QO={init:function(){yE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qO={init:function(){BE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zO={init:function(){JE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jO={init:function(){zE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$O={init:function(){jE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ZO={init:function(){$E.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eR=180,tR={init:function(){this.setColour(eR),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(fe.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(tR.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"]]},iR={init:function(){this.setColour(eR),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(iR.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"+"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},nR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new fe.FieldDropdown(nR.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE+{height:fe.Msg.MIXLY_HEIGHT,width:fe.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[fe.Msg.MIXLY_HEIGHT,"height"],[fe.Msg.MIXLY_WIDTH,"width"]]},sR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RECT).appendField(new fe.FieldDropdown(sR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_OLED_RECT)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},_R={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new fe.FieldDropdown(_R.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},oR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new fe.FieldDropdown(oR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},pR="#777777",aR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("from ").appendField(new fe.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new fe.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("import ").appendField(new fe.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField(new fe.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ZR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PROJECT).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.appendDummyInput().appendField(fe.Msg.MIXLY_Service_quality_display).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_AT_MOST_ONCE,"0"],[fe.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},nc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},sc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_c={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ac={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},uc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},rc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(fe.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+fe.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tc={init:function(){this.VISITOR_ID=Fe.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(kR),this.appendDummyInput("").appendField(new fe.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},hc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(fe.Msg.MIXLY_REQUESTS_GET).appendField(fe.Msg.MIXLY_GET_CURRENT_TIME).appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(fe.Msg.MIXLY_INIT_SUBSCRIBE).appendField(fe.Msg.MQTT_Topic).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},cc=WR,gc=KR,Cc=JR,Sc=QR,Ac=zR,Lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc=Lc,Dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.MIXLY_API_PRIVATE_KEY).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("Ollama "+fe.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(fe.inputs.Align.RIGHT).appendField(`MixIO ${fe.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},bc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Vc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bc=225,Gc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(fe.Msg.MIXLY_NETWORK_MODE).appendField(new fe.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Uc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[fe.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=fe.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:fe.Msg.MIXLY_NETWORK_WIFI_OPEN,False:fe.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Hc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:fe.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_CONNECT+fe.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[fe.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:fe.Msg.MIXLY_ESP32_NETWORK_IP,1:fe.Msg.MIXLY_ESP32_NETWORK_MASK,2:fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},Jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(fe.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new fe.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},$c={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},eg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},tg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ig={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ng={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},sg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},_g={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},og={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},pg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ag={init:function(){this.setColour(Bc),this.appendValueInput("DOMAIN").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS_GET).appendField(new fe.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ug={init:function(){this.appendValueInput("VAL"),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(ug.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:fe.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:fe.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:fe.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},rg={init:function(){this.appendValueInput("VAR").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown(rg.METHOD),"DIR"),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:fe.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:fe.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},dg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(fe.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(new fe.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Ig="#3288dd",Mg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS).appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Tg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(fe.Msg.blockpy_REQUESTS+fe.Msg.OLED_STRING),this.appendDummyInput("").appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},hg={init:function(){this.appendValueInput("VAL"),this.setColour(Ig),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(hg.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[fe.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},mg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(fe.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Eg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(fe.Msg.MIXLY_EMQX_PORT).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Og={init:function(){this.setColour(Ig),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(fe.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Rg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"+fe.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Cg=100,Sg={init:function(){this.setColour(Cg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ag={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg="#A58C5B",vg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_IS_PRESSED)}},Xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_WAS_PRESSED)}},yg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_BUTTON+fe.Msg.MIXLY_GET_PRESSES)}},xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},bg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"],[fe.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down,freefall:fe.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Vg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Bg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Gg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(new fe.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new fe.FieldDropdown(Gg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Ug={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},wg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Hg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"left"],[fe.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(fe.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=fe.Msg.MIXLY_ESP32_NEAR;return i+{left:fe.Msg.TEXT_TRIM_LEFT,right:fe.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},kg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[fe.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},Wg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[fe.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Kg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField("DS18X20 "+fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Jg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField("LM35"+fe.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LM35)}},Qg={init:function(){this.setColour(Yg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[fe.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[fe.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[fe.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[fe.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[fe.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[fe.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[fe.Msg.HTML_COLOUR+"、"+fe.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+fe.Msg.MIXLY_NEXT+"、"+fe.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[fe.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[fe.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[fe.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[fe.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[fe.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},zg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},jg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},$g={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Zg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HELLO_XIAOZHI,"1"],[fe.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[fe.Msg.MIXLY_THE_FIRST,"3"],[fe.Msg.MIXLY_THE_SECOND,"4"],[fe.Msg.MIXLY_THE_THIRD,"5"],[fe.Msg.MIXLY_THE_FOURTH,"6"],[fe.Msg.MIXLY_THE_FIFTH,"7"],[fe.Msg.MIXLY_THE_SIXTH,"8"],[fe.Msg.MIXLY_THE_SEVENTH,"9"],[fe.Msg.MIXLY_THE_EIGHTH,"10"],[fe.Msg.MIXLY_THE_NINTH,"11"],[fe.Msg.MIXLY_THE_TENTH,"12"],[fe.Msg.MIXLY_THE_ELEVENTH,"13"],[fe.Msg.MIXLY_THE_TWELFTH,"14"],[fe.Msg.MIXLY_THE_13TH,"15"],[fe.Msg.MIXLY_THE_14TH,"16"],[fe.Msg.MIXLY_THE_15TH,"17"],[fe.Msg.MIXLY_THE_16TH,"18"],[fe.Msg.MIXLY_THE_17TH,"19"],[fe.Msg.MIXLY_THE_18TH,"20"],[fe.Msg.MIXLY_THE_19TH,"21"],[fe.Msg.MIXLY_THE_20TH,"22"],[fe.Msg.MIXLY_Turn_on_the_lights,"23"],[fe.Msg.MIXLY_Turn_off_the_lights,"24"],[fe.Msg.MIXLY_Turn_up_the_brightness,"25"],[fe.Msg.MIXLY_Turn_down_the_brightness,"26"],[fe.Msg.MIXLY_Set_it_to_red,"27"],[fe.Msg.MIXLY_Set_it_to_orange,"28"],[fe.Msg.MIXLY_Set_it_to_yellow,"29"],[fe.Msg.MIXLY_Set_it_to_green,"30"],[fe.Msg.MIXLY_Set_it_to_cyan,"31"],[fe.Msg.MIXLY_Set_it_to_blue,"32"],[fe.Msg.MIXLY_Set_it_to_purple,"33"],[fe.Msg.MIXLY_Set_it_to_white,"34"],[fe.Msg.MIXLY_Turn_on_the_fan,"35"],[fe.Msg.MIXLY_Turn_off_the_fan,"36"],[fe.Msg.MIXLY_First_gear,"37"],[fe.Msg.MIXLY_Wind_speed_second,"38"],[fe.Msg.MIXLY_Third_gear,"39"],[fe.Msg.MIXLY_Previous,"40"],[fe.Msg.MIXLY_Next_page,"41"],[fe.Msg.MIXLY_Show_smiley_face,"42"],[fe.Msg.MIXLY_Show_crying_face,"43"],[fe.Msg.MIXLY_Show_love,"44"],[fe.Msg.MIXLY_Close_display,"45"],[fe.Msg.MIXLY_Start_execution,"46"],[fe.Msg.MIXLY_FORWARD,"47"],[fe.Msg.MIXLY_BACKWARD,"48"],[fe.Msg.MIXLY_TURNLEFT,"49"],[fe.Msg.MIXLY_TURNRIGHT,"50"],[fe.Msg.MIXLY_STOP,"51"],[fe.Msg.MIXLY_Accelerate,"52"],[fe.Msg.MIXLY_retard,"53"],[fe.Msg.ROTATION_FORWARD,"54"],[fe.Msg.ROTATION_BACKWARD,"55"],[fe.Msg.MIXLY_Query_temperature,"56"],[fe.Msg.MIXLY_Query_humidity,"57"],[fe.Msg.MIXLY_Query_brightness,"58"],[fe.Msg.MIXLY_Query_sound,"59"],[fe.Msg.MIXLY_Query_time,"60"],[fe.Msg.MIXLY_Query_distance,"61"],[fe.Msg.MIXLY_Query_pressure,"62"],[fe.Msg.MIXLY_Query_key,"63"],[fe.Msg.MIXLY_Query_touch,"64"],[fe.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(fe.Msg.MIXLY_WHETHER+fe.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},tC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[fe.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[fe.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},iC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MP3_PLAY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_WIND_SPEED,"154"],[fe.Msg.MIXLY_HYETAL,"155"],[fe.Msg.MIXLY_TEMPERATURE,"156"],[fe.Msg.MIXLY_Humidity,"157"],[fe.Msg.MIXLY_Altitude,"158"],[fe.Msg.MIXLY_SOUND,"159"],[fe.Msg.MIXLY_BRIGHTNESS,"160"],[fe.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[fe.Msg.MIXLY_SERVO,"162"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[fe.Msg.MIXLY_BUTTON2,"164"],[fe.Msg.MIXLY_ESP32_TOUCH,"165"],[fe.Msg.MIXLY_PAY,"166"],[fe.Msg.MIXLY_CARSH_CHANGE,"167"],[fe.Msg.MIXLY_COUNTDOWN,"168"],[fe.Msg.MIXLY_TIMING,"169"],[fe.Msg.MIXLY_AT_THE_MOMENT,"170"],[fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[fe.Msg.MIXLY_FORWARD,"172"],[fe.Msg.MIXLY_BACKWARD,"173"],[fe.Msg.MIXLY_TURNLEFT,"174"],[fe.Msg.MIXLY_TURNRIGHT,"175"],[fe.Msg.MIXLY_STOP,"176"],[fe.Msg.MIXLY_Accelerate,"177"],[fe.Msg.MIXLY_retard,"178"],[fe.Msg.ROTATION_FORWARD,"179"],[fe.Msg.ROTATION_BACKWARD,"180"],[fe.Msg.TUPLE_JOIN,"181"],[fe.Msg.MIXLY_SHOW,"182"],[fe.Msg.MIXLY_LAMPLIGHT,"183"],[fe.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(fe.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_UNIT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_YEAR,"117"],[fe.Msg.MIXLY_MONTH,"118"],[fe.Msg.MIXLY_DAY,"119"],[fe.Msg.MIXLY_HOUR,"120"],[fe.Msg.MIXLY_MINUTE,"121"],[fe.Msg.MIXLY_SECOND,"122"],[fe.Msg.MIXLY_WEEK2,"123"],[fe.Msg.MIXLY_RMB_UNIT,"124"],[fe.Msg.blockpy_setheading_degree,"125"],[fe.Msg.MIXLY_GEAR,"126"],[fe.Msg.MIXLY_LAYER,"127"],[fe.Msg.MIXLY_GRAM,"128"],[fe.Msg.MIXLY_METER,"129"],[fe.Msg.MIXLY_CENTIMETER,"130"],[fe.Msg.MIXLY_MILLIMETER,"131"],[fe.Msg.MIXLY_LUMEN,"132"],[fe.Msg.MIXLY_DECIBEL,"133"],[fe.Msg.MIXLY_hectopascal,"134"],[fe.Msg.MIXLY_PERCENT,"135"],[fe.Msg.MIXLY_CELSIUS,"136"],[fe.Msg.MIXLY_METER_PER_SEC,"137"],[fe.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[fe.Msg.MIXLY_SUCCESS,"140"],[fe.Msg.MIXLY_FAILED,"141"],[fe.Msg.MIXLY_WRONG,"142"],[fe.Msg.MIXLY_GOOD,"143"],[fe.Msg.MIXLY_blockpy_set_add,"144"],[fe.Msg.MIXLY_DECREASE,"145"],[fe.Msg.COLOUR_RGB_RED,"146"],[fe.Msg.COLOUR_RGB_ORANGE,"147"],[fe.Msg.COLOUR_YELLOW,"148"],[fe.Msg.COLOUR_RGB_GREEN,"149"],[fe.Msg.COLOUR_CYAN,"150"],[fe.Msg.COLOUR_RGB_BLUE,"151"],[fe.Msg.COLOUR_RGB_PURPLE,"152"],[fe.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_SYSTEM+fe.Msg.MIXLY_CMD).appendField(new fe.FieldDropdown([[fe.Msg.MILXY_ENTER_WAKE_UP,"1"],[fe.Msg.MIXLY_INCREASE_VOLUME,"202"],[fe.Msg.MIXLY_REDUCE_VOLUME,"203"],[fe.Msg.MIXLY_MAX_VOLUME,"204"],[fe.Msg.MIXLY_MINIMUM,"205"],[fe.Msg.MIXLY_OPEN_RESPONSE,"206"],[fe.Msg.MIXLY_CLOSE_RESPONSE,"207"],[fe.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[fe.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[fe.Msg.MIXLY_ESP32_MAX30102_IR+","+fe.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_C={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[fe.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[fe.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},pC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+fe.Msg.HTML_COLOUR,"[2]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_IR_STRENGTH,"[1]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},aC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+"RGB"+fe.Msg.HTML_COLOUR,"0"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_RGB_RAW,"1"],[fe.Msg.MIXLY_GET_ENV_LIGHT+fe.Msg.MIXLY_BRIGHTNESS,"2"],[fe.Msg.GET_IR_STRENGTH+fe.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_ENV_LIGHT,"E"],[fe.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},lC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},IC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},TC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(fe.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MIXGOPE_FIELD+fe.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[fe.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},EC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},OC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},RC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET+fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},cC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},gC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},CC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_GETTEMPERATUE)}},SC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},AC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},LC={init:function(){this.setColour(Yg),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},NC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[fe.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},DC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},fC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},FC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},PC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},YC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"0"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},XC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},yC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1)o=i+".function_call("+_+", "+n+", "+s+", ("+o.join(", ")+"))\n";else if(1==this.itemCount_)o=i+".function_call("+_+", "+n+", "+s+", "+o.join(", ")+")\n";else o=i+".function_call("+_+", "+n+", "+s+")\n";return o},DY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},fY=function(e,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},FY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},PY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},YY=function(){return"blynk_timer.run()\n"},vY=function(){return"blynk.run()\n"},XY=function(e,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},yY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},xY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},bY=function(e,t){t.definitions_.import_blynktimer="import blynktimer";var i=t.valueToCode(this,"Num",t.ORDER_ATOMIC),n=t.valueToCode(this,"period",t.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),_=t.statementToCode(this,"DO");return _=t.addLoopTrap(_,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+_,""},VY=function(e,t){var i=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+i+")\n"},BY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),n=t.statementToCode(this,"DO");return n=t.addLoopTrap(n,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},GY=function(e,t){var i=t.valueToCode(this,"body",t.ORDER_ATOMIC),n=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${n}, ${i})\n`},UY=function(e,t){var i=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${i})\n`},wY=function(e,t){t.definitions_.import_BlynkLib="import blynklib";var i=t.valueToCode(this,"server",t.ORDER_ATOMIC),n=t.valueToCode(this,"auth",t.ORDER_ATOMIC),s=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},HY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return["handle.read_bat()",t.ORDER_ATOMIC]},kY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_joystick()"+i,t.ORDER_ATOMIC]},WY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_key("+i+")",t.ORDER_ATOMIC]},KY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return"handle.shutdown()"},JY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},QY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_mini"==i?t.definitions_.import_mini_go_car="from mini_go import car":"mixgo_ce"==i&&(t.definitions_.import_ce_go_car="from ce_go import car"),"car.setonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},qY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},zY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},jY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),"car.setbrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},$Y=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'", '+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},ZY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'")\n'},ev=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car");var n=this.getFieldValue("wheel"),s=this.getFieldValue("direction");return 0==n&&("CW"==s?s="CCW":"CCW"==s&&(s="CW")),"car.motor(car.MOTO["+n+'], "'+s+'", '+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},tv=function(e,t){var i=this.getFieldValue("mode"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==n?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==n&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},iv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i);var _=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+_+", distance="+_+")\n":"hall_"+i+".initial("+n+"="+_+")\n"},nv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),["hall_"+i+"."+n,t.ORDER_ATOMIC]},sv=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.patrol()"+i,t.ORDER_ATOMIC]},_v=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.obstacle()"+i,t.ORDER_ATOMIC]},ov=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),"car.ir_mode(car."+i+")\n"},pv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa":"mixgo_ce"==i?t.definitions_.import_mixgo_ce_onboard_mxc6655xa="from mixgo_ce import onboard_mxc6655xa":"mixgo_mini"==i&&(t.definitions_.import_mini_onboard_mxc6655xa="from mini_go import onboard_mxc6655xa"),["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},av=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.light()"+i,t.ORDER_ATOMIC]},uv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_car"]="from "+i+" import car";return["car()",t.ORDER_ATOMIC]},rv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"("+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},dv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"()\n"},lv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_itr_dnum("+this.getFieldValue("key")+")",t.ORDER_ATOMIC]},Iv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_distance()",t.ORDER_ATOMIC]},Mv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},Tv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},hv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"RX",t.ORDER_ATOMIC),n=t.valueToCode(this,"TX",t.ORDER_ATOMIC),s=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+n+"), sda=machine.Pin("+i+"), freq="+s+")\n"},mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ev=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Ov=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Rv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},cv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},gv=function(e,t){var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+i]="Wire.begin("+i+");",t.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[n]=s,""},Cv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"freq",t.ORDER_ATOMIC),s=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),_=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return i+" = machine.SoftSPI(baudrate="+n+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+s+"), miso=machine.Pin("+_+"))\n"},Sv=function(e,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Av=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},Pv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'), "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Yv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},vv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Xv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},yv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},bv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},Vv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==s&&"RC5"==n)var _="ir_rx = irremote.RC5_RX("+i+")\n";else if("RC5"==n)_="ir_rx = irremote.RC5_RX("+i+", "+s+")\n";else if(""==s)_="ir_rx = irremote.NEC_RX("+i+", "+n+")\n";else _="ir_rx = irremote.NEC_RX("+i+", "+n+", "+s+")\n";return _},Bv=function(e,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},Gv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},Uv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==n)var _="ir_tx = irremote.RC5_TX("+i+", "+s+")\n";else _="ir_tx = irremote.NEC_TX("+i+", "+n+", "+s+")\n";return _},kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},Qv=function(e,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},qv=function(e,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+i+")\n"},zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},jv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+i+")\n"},$v=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},Zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},eX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},tX=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+i+")\n"},iX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},nX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},sX=function(e,t){t.definitions_.import_ble_handle="import ble_handle";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return i+"=ble_handle.Handle()\n"+i+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},_X=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+this.getFieldValue("op")+")\n"},oX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},pX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},aX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},uX=function(e,t){t.definitions_.import_radio="import radio";var i=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+i,t.ORDER_ATOMIC]},rX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},dX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},lX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},IX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},MX=function(e,t){t.definitions_.import_radio="import radio";var i=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow(channel=1, txpower="+i+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},TX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},hX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},EX=function(e,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},OX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+i,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const RX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var n=e.getFieldValue("msg"),s=function(e){for(var t=function(e,t){for(var i=[],n=0,s=0;s>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},PX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},YX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},vX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},XX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},yX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},bX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},BX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},GX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},UX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},wX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},HX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},kX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},WX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},KX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},JX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},QX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},qX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},zX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},jX=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},$X=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},ey=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},ty=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},iy=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},ny=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},sy=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},_y=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},oy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},py=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ay=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},uy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ry=function(e,t){t.definitions_.import_st7789="import st7789";var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},dy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ly=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Iy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},My=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Ty=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},hy=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},my=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ey=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Oy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Ry=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},cy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},gy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Cy=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Fe.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Sy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ay=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ny=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Dy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Py=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},vy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Xy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},xy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},by=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Vy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},By=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Gy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform()))return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},Uy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Hy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},Ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Jy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Qy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},qy=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},Xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},yx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Gx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Ux=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Hx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},zx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},$x=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Zx=By,eb=sx,tb=tx,ib=sx,nb=_x,sb=jy,_b=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},ob=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},pb=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},LH=function(){return"control.reset()\n"},NH=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},DH=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},fH=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},FH=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},PH=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},YH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},vH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XH=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},yH=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},xH=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},bH=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},VH=function(){return"while True:\n pass\n"},BH=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},GH=function(e,t){return t.definitions_.import_os="import os","os.uname()"},UH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},wH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HH=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},kH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},WH=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},KH=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},JH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},QH=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},qH=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},zH=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},jH=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},$H=KH,ZH=JH,ek=WH,tk=UH,ik=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},nk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_k=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},ok=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},pk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},ak=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},uk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},rk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},dk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},lk=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},Ik=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Mk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Tk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},hk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},mk='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ek}=Fe,Ok=Ek.render(mk,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:Rk}=Fe,ck=Rk.render(mk,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:gk}=Fe,Ck=gk.render(mk,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),Sk=new fe.Generator("Python");Sk.INDENT=" ",Sk.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Sk.ORDER_ATOMIC=0,Sk.ORDER_COLLECTION=1,Sk.ORDER_STRING_CONVERSION=1,Sk.ORDER_UNARY_POSTFIX=1,Sk.ORDER_UNARY_PREFIX=2,Sk.ORDER_MEMBER=2.1,Sk.ORDER_FUNCTION_CALL=2.2,Sk.ORDER_EXPONENTIATION=3,Sk.ORDER_UNARY_SIGN=4,Sk.ORDER_BITWISE_NOT=4,Sk.ORDER_MULTIPLICATIVE=5,Sk.ORDER_ADDITIVE=6,Sk.ORDER_BITWISE_SHIFT=7,Sk.ORDER_BITWISE_AND=8,Sk.ORDER_BITWISE_XOR=9,Sk.ORDER_BITWISE_OR=10,Sk.ORDER_RELATIONAL=11,Sk.ORDER_EQUALITY=11,Sk.ORDER_LOGICAL_NOT=12,Sk.ORDER_LOGICAL_AND=13,Sk.ORDER_LOGICAL_OR=14,Sk.ORDER_ASSIGNMENT=14,Sk.ORDER_CONDITIONAL=15,Sk.ORDER_LAMBDA=16,Sk.ORDER_NONE=99,Sk.ORDER_OVERRIDES=[[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_MEMBER],[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_FUNCTION_CALL],[Sk.ORDER_MEMBER,Sk.ORDER_MEMBER],[Sk.ORDER_MEMBER,Sk.ORDER_FUNCTION_CALL]],Sk.init=function(){Sk.PASS=this.INDENT+"pass\n",Sk.definitions_=Object.create(null),Sk.functionNames_=Object.create(null),Sk.setups_=Object.create(null),Sk.loops_=Object.create(null),Sk.codeEnd_=Object.create(null),Sk.variableDB_?Sk.variableDB_.reset():Sk.variableDB_=new Xe(Sk.RESERVED_WORDS_)},Sk.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in Sk.functions_)o.push(Sk.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in Sk.setups_)p.push(Sk.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in Sk.loops_)a.push(Sk.loops_[s]);var u=[];for(var s in Sk.codeEnd_)u.push(Sk.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},Sk.scrubNakedValue=function(e){return e+"\n"},Sk.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Sk.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Sk.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,Sk.COMMENT_WRAP-3),n+=Sk.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Ak={};Ak["元控奋斗(MINI)"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:Fe.Profile.generate(["0-10","18"]),input_pin:Fe.Profile.generate(["0-10","18"]),output_pin:Fe.Profile.generate(["0-10","18"]),pwm_input:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-4"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-10","18"]),pwm:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-4"]),analog:Fe.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-11"]),exlcdv:Fe.Profile.generate(["0-7"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Ak["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Fe.Profile.generate(["0-11","18-21"]),input_pin:Fe.Profile.generate(["0-11","18-21"]),output_pin:Fe.Profile.generate(["0-11","18-21"]),pwm_input:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-5"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-11","18-21"]),pwm:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-5"]),analog:Fe.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-31"]),exlcdv:Fe.Profile.generate(["0-11"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Lk=Ak,Nk=20,Dk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HIGH,"HIGH"],[fe.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Pk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Yk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_mSecond,"period"],[fe.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},vk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_REF_VOLTAGE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Xk={init:function(){this.setColour(Nk),this.appendValueInput("pin").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},yk={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},xk={init:function(){this.setColour(20),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_AS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[fe.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[fe.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[fe.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},bk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("dac#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Vk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("tc#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Bk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("PWM"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_FREQUENCY+fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Gk=xk,Uk=Vk,wk=Xk,Hk=yk,kk=40,Wk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Kk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$k={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"True"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zk=100,eW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[fe.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},tW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},iW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},nW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},sW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_W={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[fe.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.ROTATION_FORWARD,"CW"],[fe.Msg.ROTATION_BACKWARD,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_INTERRUPT).appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},dW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},lW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT,"[0]"],[fe.Msg.MIXGO_RIGHT_FRONT,"[1]"],[fe.Msg.MIXGO_LEFT_BACK,"[3]"],[fe.Msg.MIXGO_RIGHT_BACK,"[2]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},IW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[fe.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[fe.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[fe.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.ME_GO_PITCH,"[0]"],[fe.Msg.ME_GO_ROLL,"[1]"],[fe.Msg.ME_GO_PITCH+", "+fe.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},TW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hW=230,mW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital),"PIN"),this.setOutput(!0)}},EW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},OW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},RW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},CW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},SW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},AW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},LW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},NW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},DW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},FW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},PW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},YW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},vW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog),"PIN"),this.setOutput(!0)}},XW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},yW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac),"PIN"),this.setOutput(!0)}},xW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},bW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},VW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},BW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm),"PIN"),this.setOutput(!0)}},GW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},UW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},wW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch),"PIN"),this.setOutput(!0)}},HW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},kW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},WW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},KW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.imglist),"PIN"),this.setOutput(!0)}},JW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist),"PIN"),this.setOutput(!0)}},QW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},qW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},zW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},$W={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ZW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},eK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},tK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},iK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},nK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_K={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.one_more),"PIN"),this.setOutput(!0)}},oK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},pK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown([["0","0"]]),"PIN"),this.setOutput(!0,Number)}},aK=function(e,t){const i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ws2812x_NeoPixel="from ws2812x import NeoPixel";return`${i} = NeoPixel(machine.Pin(${n}), ${s})\n`},uK=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},rK=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},dK=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},lK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},IK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},MK=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},TK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},hK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},EK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},OK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},RK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},cK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},gK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},CK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";n='onboard_rfid.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},SK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.read_card("+n+', x="content")'}return[s,t.ORDER_ATOMIC]},AK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")\n"}return _},LK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")"}return[_,t.ORDER_ATOMIC]},NK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},DK=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},fK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},FK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},PK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},YK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},vK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},XK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yK=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},xK=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},bK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},VK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},BK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},GK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},UK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wK=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},HK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},kK=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},WK=kK,KK=kK,JK=kK,QK=kK,qK=kK,zK=kK,jK=kK,$K=kK,ZK=kK,eJ=kK,tJ=kK,iJ=kK,nJ=kK,sJ=kK,_J=kK,oJ=kK,pJ=kK,aJ=kK,uJ=kK,rJ=kK,dJ=kK,lJ=kK,IJ=kK,MJ=kK,TJ=kK,hJ=kK,mJ=kK,EJ=kK,OJ=kK,RJ=kK,cJ=kK,gJ=kK,CJ=kK,SJ=kK,AJ=kK,LJ=kK,NJ=kK,DJ=kK,fJ=kK,FJ=kK,PJ=kK,YJ=kK,vJ=kK,XJ=kK,yJ=kK;Object.assign(fe.Variables,Ye),Object.assign(fe.Procedures,Qu),Object.assign(fe.Lang.ZhHans,me),Object.assign(fe.Lang.ZhHant,Ee),Object.assign(fe.Lang.En,Oe),fe.Python=qu,fe.generator=qu,Fe.Profile.default={},Object.assign(Fe.Profile,Lk),Object.assign(Fe.Profile.default,Lk["元控奋斗(MINI)"]),Object.assign(fe.Blocks,t,i,n,s,_,o,p,a,u,r,d,l,I,G,J,K,x,U,Q,f,P,Y,W,k,w,H,F,D,N,V,b,B,v,X,y,Re,ce,ge,Ce),Object.assign(fe.Python.forBlock,M,T,h,m,E,O,R,c,g,C,S,A,L,ae,Te,Me,se,ue,he,j,$,ee,Ie,le,re,de,Z,z,q,oe,_e,pe,te,ie,ne,Se,Ae,Le,Ne,De)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/index.xml b/boards/default/micropython_esp32c3/index.xml index f9871464..bfba9b39 100644 --- a/boards/default/micropython_esp32c3/index.xml +++ b/boards/default/micropython_esp32c3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100100100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly50010.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100100100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly50010.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/main.bundle.6027d445.js b/boards/default/micropython_esp32c3/main.bundle.5cf8a753.js similarity index 80% rename from boards/default/micropython_esp32c3/main.bundle.6027d445.js rename to boards/default/micropython_esp32c3/main.bundle.5cf8a753.js index 861e2baf..037f375e 100644 --- a/boards/default/micropython_esp32c3/main.bundle.6027d445.js +++ b/boards/default/micropython_esp32c3/main.bundle.5cf8a753.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>vt,controls_typeLists:()=>Xt,lists_zip:()=>xt,lists_zip_container:()=>yt,lists_zip_item:()=>bt,unpack_iterable_object:()=>Vt,variables_change:()=>Pt,variables_get:()=>ft,variables_global:()=>Yt,variables_set:()=>Ft});var i={};t.r(i),t.d(i,{base_setup:()=>Ut,controls_delay:()=>wt,controls_end_program:()=>kt,controls_except:()=>ie,controls_finally:()=>ne,controls_flow_statements:()=>qt,controls_for:()=>zt,controls_forEach:()=>Kt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>te,controls_if_elseif:()=>Zt,controls_if_if:()=>$t,controls_lambda:()=>_e,controls_main:()=>Gt,controls_pass:()=>oe,controls_range:()=>Wt,controls_repeat_ext:()=>se,controls_thread:()=>pe,controls_try:()=>ee,controls_try_finally:()=>Qt,controls_whileUntil:()=>Jt,datetime_fromtimestamp:()=>Ie,do_while:()=>ae,garbage_collection:()=>ue,gene_unique_identifier:()=>Te,get_mem_alloc:()=>re,get_mem_free:()=>de,get_unique_identifier:()=>le});var n={};t.r(n),t.d(n,{base_map:()=>xe,generate_cartesian_product:()=>be,math_arithmetic:()=>Oe,math_bit:()=>ce,math_constant:()=>me,math_constant_mp:()=>Ee,math_constrain:()=>De,math_dec:()=>Ce,math_degree_to_radian:()=>Be,math_indexer_number:()=>Fe,math_map:()=>fe,math_max_min:()=>Ae,math_number:()=>he,math_number_base_conversion:()=>Le,math_radian_to_degree:()=>Ve,math_random:()=>Ne,math_random_seed:()=>Pe,math_round:()=>Ye,math_selfcalcu:()=>Re,math_to_int:()=>Se,math_trig:()=>ge,text_to_number:()=>ve,text_to_number_skulpt:()=>Xe,turn_to_int:()=>ye});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ke,char_to_ascii:()=>Je,number_to_text:()=>Qe,os_system:()=>Oi,text:()=>Ue,text_bytes:()=>ke,text_capital:()=>ni,text_center:()=>si,text_char:()=>He,text_char_at:()=>je,text_char_at2:()=>ze,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>di,text_create_with_item:()=>li,text_encode:()=>mi,text_equals_starts_ends:()=>ei,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>We,text_join_seq:()=>oi,text_length:()=>qe,text_random_char:()=>$e,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ti,text_substring2:()=>Ze,text_substring3:()=>Ii,text_textarea:()=>we});var _={};t.r(_),t.d(_,{ENUMERATE:()=>en,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>tn,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>xi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>qi,lists_getSublist3:()=>zi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>yi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>ln,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>dn,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>xn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>yn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>zn,storage_delete_file:()=>$n,storage_file_seek:()=>es,storage_file_tell:()=>ts,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>qn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ls,procedures_mutatorcontainer:()=>ds,procedures_return:()=>hs});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>ys,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>xs,tuple_trig:()=>Fs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>zs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>qs});var l={};t.r(l),t.d(l,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>e_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>t_});var I={};t.r(I),t.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>d_,raw_empty:()=>I_,raw_expression:()=>l_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};t.r(T),t.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>x_,controls_forEach:()=>W_,controls_for_range:()=>y_,controls_if:()=>v_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>q_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>z_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>to,get_mem_free:()=>eo,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};t.r(h),t.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};t.r(m),t.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>qo,text_char:()=>xo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>zo,text_format:()=>ep,text_format_noreturn:()=>ip,text_join:()=>yo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>tp,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};t.r(E),t.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>dp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>lp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>xp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>yp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>ea,dicts_add_or_change:()=>Jp,dicts_clear:()=>zp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ta,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>qp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>da,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>la,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};t.r(c),t.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ya,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>xa,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>lu,tuple_create_with:()=>qa,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>za,tuple_create_with_text_return:()=>ja,tuple_del:()=>tu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>du,tuple_join:()=>eu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};t.r(A),t.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};t.r(L),t.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>xu,raw_expression:()=>Xu,raw_table:()=>yu,type_check:()=>bu});var N={};t.r(N),t.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>er,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>tr,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>lr,actuator_ms32006_init:()=>dr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>zu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>qu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>zr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>xr,robot_led_extern_get_value:()=>yr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>qr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Fd,actuator_dc_motor_stop:()=>Pd,actuator_get_led_bright:()=>id,actuator_get_led_state:()=>nd,actuator_led_bright:()=>ed,actuator_led_brightness:()=>sd,actuator_mixbot_buzzer_on_off:()=>yd,actuator_mixgo_nova_mic_get:()=>Ud,actuator_mixgo_nova_mic_set:()=>Gd,actuator_mixgo_nova_onboard_music_pitch:()=>Jd,actuator_mixgo_nova_onboard_music_stop:()=>Qd,actuator_mixgo_nova_play_audio:()=>Wd,actuator_mixgo_nova_play_online_audio:()=>Kd,actuator_mixgo_nova_record_audio:()=>Hd,actuator_mixgo_nova_voice_get:()=>kd,actuator_mixgo_nova_voice_set:()=>wd,actuator_mixgo_zero_led_color:()=>_d,actuator_onboard_neopixel_rgb:()=>dd,actuator_onboard_neopixel_rgb_all:()=>ld,actuator_onboard_neopixel_rgb_show_all_chase:()=>Td,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Id,actuator_onboard_neopixel_write:()=>Md,actuator_rm_onboard_neopixel_rgb:()=>hd,actuator_rm_onboard_neopixel_rgb_all:()=>md,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Ed,actuator_stepper_keep:()=>Dd,actuator_stepper_stop:()=>fd,analog_ble_keyboard_init:()=>al,analog_ble_keyboard_input:()=>dl,analog_ble_keyboard_mouse_init:()=>Ol,analog_ble_keyboard_mouse_input:()=>Cl,analog_ble_keyboard_mouse_send_battery:()=>gl,analog_ble_keyboard_mouse_str:()=>Sl,analog_ble_keyboard_send_battery:()=>Il,analog_ble_keyboard_str:()=>ll,analog_ble_mouse_init:()=>Tl,analog_ble_mouse_input:()=>ml,analog_ble_mouse_keyboard_input:()=>Al,analog_ble_mouse_send_battery:()=>El,analog_keyboard_input:()=>Zd,analog_keyboard_str:()=>pl,analog_mouse_input:()=>_l,backstage_onboard_music_play_list:()=>Ld,bitbot_motor:()=>Bd,bitbot_move:()=>bd,bitbot_stop:()=>Vd,ble_keyboard_connect:()=>rl,ble_keyboard_get_mac:()=>ul,ble_keyboard_mouse_connect:()=>cl,ble_keyboard_mouse_get_mac:()=>Rl,ble_mouse_connect:()=>hl,ble_mouse_get_mac:()=>Ml,cc_number:()=>rd,educore_ble_keyboard_input:()=>xl,educore_ble_sensor_connected:()=>Xl,educore_ble_sensor_init:()=>vl,educore_buzzer:()=>Ll,educore_buzzer_play_tone:()=>Nl,educore_buzzer_play_tone_time:()=>Dl,educore_buzzer_stop:()=>fl,educore_neopixel_clear:()=>Yl,educore_neopixel_rgb:()=>Pl,educore_rgb_light:()=>Fl,esp32_music_get_tempo:()=>Rd,esp32_music_reset:()=>cd,esp32_music_set_tempo:()=>Od,esp32_onboard_music_pitch:()=>gd,esp32_onboard_music_pitch_with_time:()=>Cd,esp32_onboard_music_play_list:()=>Ad,esp32_onboard_music_stop:()=>Sd,general_key:()=>el,general_key_tuple:()=>il,generalkey_container:()=>nl,generalkey_create_with_item:()=>sl,get_keyboard_light:()=>yl,get_power_output:()=>zd,ledswitch:()=>td,mixbot_motor:()=>xd,mixbot_motor_status:()=>Yd,mixbot_move:()=>vd,mixbot_stop:()=>Xd,mouse_key:()=>ol,number:()=>Zr,record_audio:()=>Vl,rm_actuator_get_led_bright:()=>pd,rm_actuator_get_led_state:()=>ad,rm_actuator_led_bright:()=>od,rm_actuator_led_brightness:()=>ud,rm_motor:()=>Nd,set_all_power_output:()=>jd,set_microphone_amplification:()=>bl,set_music_volume:()=>Bl,set_part_power_output:()=>$d,set_power_output:()=>qd,special_key:()=>tl});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>dI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jl,ai_sensor_circle:()=>Zl,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wl,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>Ql,ai_sensor_find_circles:()=>tI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$l,ai_sensor_find_qrcodes:()=>Hl,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>zl,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jl,ai_sensor_qrcode:()=>wl,ai_sensor_qrcode_lite:()=>kl,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Kl,ai_sensor_tag:()=>ql,ai_sensor_use_uart_init:()=>Ul,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>II});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>VI,mpython_blynk_app_notify:()=>PI,mpython_blynk_email:()=>XI,mpython_blynk_get_timers:()=>xI,mpython_blynk_on_connected:()=>DI,mpython_blynk_on_disconnected:()=>NI,mpython_blynk_run:()=>FI,mpython_blynk_sensor_data_to_app:()=>bI,mpython_blynk_set_property:()=>vI,mpython_blynk_setup:()=>BI,mpython_blynk_stop_timers:()=>YI,mpython_blynk_sync_virtual:()=>LI,mpython_blynk_terminal_widget_vpin:()=>AI,mpython_blynktimer:()=>yI,mpython_blynktimer_run:()=>fI});var Y={};t.r(Y),t.d(Y,{cc_g1_init:()=>GI,cc_g1_read_bat:()=>UI,cc_g1_read_joystick:()=>wI,cc_g1_read_key:()=>kI,cc_g1_turnoff:()=>HI});var v={};t.r(v),t.d(v,{ce_go_dc_motor:()=>ZI,ce_go_get_led_bright:()=>QI,ce_go_get_led_state:()=>qI,ce_go_hall_attachInterrupt:()=>tT,ce_go_hall_data:()=>iT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>JI,ce_go_led_brightness:()=>zI,ce_go_light_number:()=>KI,ce_go_pin_light:()=>pT,ce_go_pin_near:()=>sT,ce_go_pin_near_line:()=>nT,ce_go_pin_near_state_change:()=>_T,ce_go_stepper_keep:()=>jI,ce_go_stepper_stop:()=>$I,educore_car:()=>aT,educore_car_pin_near:()=>lT,educore_car_pin_near_line:()=>dT,educore_car_stepper_keep:()=>uT,educore_car_stepper_stop:()=>rT,sensor_mixgome_eulerangles:()=>oT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>QT,communicate_bluetooth_connect:()=>$T,communicate_bluetooth_disconnect:()=>ZT,communicate_bluetooth_handle:()=>sM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>jT,communicate_bluetooth_peripheral_init:()=>qT,communicate_bluetooth_recv:()=>iM,communicate_bluetooth_recv_only:()=>nM,communicate_bluetooth_scan:()=>zT,communicate_bluetooth_send:()=>tM,communicate_espnow_init:()=>_M,communicate_espnow_init_new:()=>oM,communicate_i2c_available:()=>FT,communicate_i2c_init:()=>hT,communicate_i2c_master_read:()=>fT,communicate_i2c_onboard:()=>TT,communicate_i2c_read:()=>mT,communicate_i2c_scan:()=>OT,communicate_i2c_write:()=>ET,communicate_ir_recv_init:()=>VT,communicate_ir_send_init:()=>kT,communicate_ow_init:()=>YT,communicate_ow_read:()=>XT,communicate_ow_reset:()=>bT,communicate_ow_scan:()=>vT,communicate_ow_select:()=>yT,communicate_ow_write:()=>xT,communicate_spi_buffer:()=>gT,communicate_spi_init:()=>RT,communicate_spi_onboard:()=>MT,communicate_spi_read:()=>CT,communicate_spi_read_output:()=>ST,communicate_spi_readinto:()=>AT,communicate_spi_readinto_output:()=>LT,communicate_spi_set:()=>cT,communicate_spi_write:()=>NT,communicate_spi_write_readinto:()=>DT,espnow_radio_channel:()=>lM,espnow_radio_channel_new:()=>TM,espnow_radio_on_off:()=>MM,espnow_radio_rec:()=>mM,espnow_radio_recv:()=>OM,espnow_radio_recv_certain_msg:()=>RM,espnow_radio_recv_certain_msg_new:()=>gM,espnow_radio_recv_msg:()=>EM,espnow_radio_recv_new:()=>cM,espnow_radio_send:()=>hM,espnow_radio_txpower:()=>IM,i2c_available:()=>HM,i2c_init:()=>FM,i2c_master_reader2:()=>kM,i2c_read:()=>PM,i2c_scan:()=>vM,i2c_slave_onreceive:()=>PT,i2c_write:()=>YM,internal_variable:()=>BT,ir_recv_timeout:()=>wT,ir_transmit_busy:()=>JT,ir_transmit_conventional_data:()=>HT,ir_transmit_raw_code:()=>KT,ir_transmit_study_code:()=>WT,ir_whether_recv:()=>UT,lora_init:()=>CM,lora_packet:()=>SM,lora_recv:()=>LM,lora_send:()=>AM,network_espnow_info:()=>aM,network_espnow_mac:()=>pM,network_espnow_recv:()=>uM,network_espnow_recv_handle:()=>dM,network_espnow_send:()=>rM,recv_fun:()=>GT,spi_buffer:()=>yM,spi_init:()=>XM,spi_read:()=>bM,spi_read_output:()=>VM,spi_readinto:()=>BM,spi_readinto_output:()=>GM,spi_set:()=>xM,spi_write:()=>UM,spi_write_readinto:()=>wM,urequests_attribute:()=>DM,urequests_get:()=>NM,urequests_method:()=>fM});var x={};t.r(x),t.d(x,{display_animate:()=>gh,display_blink_rate:()=>Eh,display_circle:()=>Ch,display_color_seclet:()=>xh,display_draw_4strings:()=>lh,display_fill:()=>ch,display_get_screen_image:()=>mh,display_help:()=>Ah,display_image_size:()=>Ih,display_lcd_use_i2c_init:()=>Uh,display_line:()=>Mh,display_line_arbitrarily:()=>hh,display_matrix_extern_bright_point:()=>sh,display_matrix_extern_bright_screen:()=>oh,display_matrix_extern_clear:()=>ph,display_matrix_extern_get_pixel:()=>nh,display_matrix_extern_get_screen_pixel:()=>_h,display_matrix_extern_image_builtins:()=>ah,display_matrix_extern_scroll_string:()=>$M,display_matrix_extern_scroll_string_delay:()=>ZM,display_matrix_extern_shift:()=>ih,display_matrix_extern_show_frame_string:()=>th,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>zM,display_matrix_extern_show_image_or_string_delay:()=>jM,display_matrix_use_i2c_init:()=>qM,display_oled_drawPixel:()=>Nh,display_oled_showBitmap:()=>Lh,display_oled_use_i2c_init:()=>Kh,display_onoff:()=>Rh,display_rect:()=>Th,display_rgb_color:()=>Oh,display_tm1650_power:()=>fh,display_tm1650_set_brightness:()=>Yh,display_tm1650_show_dot:()=>Ph,display_tm1650_show_num:()=>Fh,display_tm_use_i2c_init:()=>Dh,display_triangle:()=>Sh,display_use_i2c_init:()=>dh,extern_oled_bright_point:()=>nm,extern_oled_clear:()=>sm,extern_oled_get_pixel:()=>im,extern_oled_hvline:()=>om,extern_oled_line:()=>pm,extern_oled_scroll_string:()=>jh,extern_oled_scroll_string_delay:()=>$h,extern_oled_shape_rect:()=>_m,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>Zh,extern_oled_show_frame_string_delay:()=>tm,extern_oled_show_image:()=>Jh,extern_oled_show_image_or_string_delay:()=>zh,extern_oled_show_image_xy:()=>Qh,extern_oled_show_string:()=>qh,lcd_backlight:()=>Hh,lcd_clear:()=>Wh,lcd_print_string:()=>kh,lcd_show_image_or_string_delay:()=>wh,matrix_extern_image_arithmetic:()=>uh,matrix_extern_image_invert:()=>rh,tft_fill:()=>Bh,tft_line_arbitrarily:()=>Gh,tft_scroll_string_delay:()=>bh,tft_show_frame_string_delay:()=>Vh,tft_show_image_or_string_delay:()=>yh,tft_show_image_xy:()=>Xh,tft_use_spi_init:()=>vh});var y={};t.r(y),t.d(y,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>tE,display_available:()=>fm,display_bitmap_create:()=>Em,display_bright_point:()=>Am,display_bright_screen:()=>Nm,display_clear:()=>Dm,display_get_pixel:()=>Sm,display_get_screen_pixel:()=>Lm,display_image_builtins:()=>Om,display_image_builtins_all:()=>Rm,display_image_create:()=>mm,display_scroll_string:()=>dm,display_scroll_string_delay:()=>lm,display_scroll_way:()=>Im,display_shift:()=>Cm,display_show_frame_string:()=>Mm,display_show_frame_string_delay:()=>hm,display_show_image:()=>um,display_show_image_or_string_delay:()=>rm,draw_pointer:()=>EE,image_arithmetic:()=>cm,image_invert:()=>gm,mixbot_display_bitmap_create:()=>qm,mixbot_display_bright_screen:()=>$m,mixbot_display_get_ambientbright:()=>jm,mixbot_display_get_screen_pixel:()=>zm,mixbot_display_image_create:()=>Qm,mixbot_display_rotate:()=>Zm,mixgo_display_bitmap_create:()=>xm,mixgo_display_image_create_new:()=>Xm,mixgome_display_bitmap_create:()=>Pm,mixgome_display_font:()=>ym,mixgome_display_image_create:()=>Fm,mixgomini_display_bitmap_create:()=>vm,mixgomini_display_image_create:()=>Ym,mpython_display_hvline:()=>Wm,mpython_display_line:()=>Km,mpython_display_shape_rect:()=>Hm,mpython_pbm_image:()=>Jm,nova_draw_pointer:()=>OE,onboard_oled_bright_point:()=>km,onboard_oled_scroll_string_delay:()=>Um,onboard_oled_show_frame_string_delay:()=>wm,onboard_oled_show_image:()=>bm,onboard_oled_show_image_or_string_delay:()=>Gm,onboard_oled_show_image_xy:()=>Vm,onboard_oled_show_string:()=>Bm,onboard_tft_bright_point:()=>rE,onboard_tft_bright_screen:()=>DE,onboard_tft_clear:()=>fE,onboard_tft_clock_clear:()=>hE,onboard_tft_clock_draw:()=>ME,onboard_tft_clock_get_rtctime:()=>IE,onboard_tft_clock_init:()=>lE,onboard_tft_clock_set_time:()=>TE,onboard_tft_display_hvline:()=>pE,onboard_tft_display_line:()=>aE,onboard_tft_display_shape_circle:()=>mE,onboard_tft_display_shape_rect:()=>oE,onboard_tft_fill:()=>dE,onboard_tft_get_pixel:()=>uE,onboard_tft_get_screen_pixel:()=>NE,onboard_tft_scroll_string:()=>SE,onboard_tft_scroll_string_delay:()=>Tm,onboard_tft_shift:()=>LE,onboard_tft_show_frame_string:()=>AE,onboard_tft_show_frame_string_delay:()=>_E,onboard_tft_show_image:()=>CE,onboard_tft_show_image_or_string_delay:()=>sE,onboard_tft_show_image_xy:()=>iE,onboard_tft_show_image_xy_direct:()=>nE,onboard_tft_show_qrcode:()=>cE,onboard_tft_show_qrcode_details:()=>gE,onboard_tft_show_texts:()=>RE});var b={};t.r(b),t.d(b,{factory_block:()=>JE,factory_block_return:()=>QE,factory_block_return_with_textarea:()=>zE,factory_block_with_textarea:()=>qE,factory_callMethod_noreturn:()=>WE,factory_callMethod_return:()=>KE,factory_create_with_container:()=>UE,factory_create_with_item:()=>wE,factory_declare:()=>HE,factory_from_import:()=>VE,factory_function_noreturn:()=>GE,factory_function_return:()=>kE,factory_import:()=>BE,folding_block:()=>jE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>OO,inout_analog_atten:()=>pO,inout_analog_read:()=>oO,inout_analog_read_init:()=>IO,inout_analog_write:()=>nO,inout_analog_write_init:()=>lO,inout_analog_write_set:()=>sO,inout_analog_write_set_freq:()=>hO,inout_digital_init:()=>rO,inout_digital_read:()=>eO,inout_digital_write:()=>tO,inout_highlow:()=>ZE,inout_pinMode:()=>MO,inout_pin_attachInterrupt:()=>uO,inout_pin_pressed:()=>aO,inout_pin_pressed_init:()=>TO,inout_pwm_analog_write:()=>iO,inout_pwm_analog_write_init:()=>dO,inout_pwm_analog_write_set_freq:()=>_O,pin_pressed:()=>EO,pin_pressed_init:()=>mO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>nR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>HO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kO,IOT_EMQX_PING:()=>UO,IOT_FORMATTING:()=>BO,IOT_FORMAT_STRING:()=>GO,IOT_MIXIO_NTP:()=>wO,IOT_MIXIO_PUBLISH:()=>PO,IOT_MIXIO_PUBLISHEX:()=>YO,IOT_MIXIO_SUBSCRIBE:()=>vO,iot_checkonenet:()=>tR,iot_client_onboard:()=>KO,iot_connect_ollama:()=>iR,iot_connect_openai:()=>sR,iot_create_with_item:()=>fO,iot_http_client:()=>JO,iot_http_data:()=>QO,iot_mixio_check:()=>yO,iot_mixio_connect:()=>FO,iot_mixio_connect_only:()=>xO,iot_mixio_disconnect:()=>XO,iot_mixio_format_msg:()=>VO,iot_mixio_format_topic:()=>bO,iot_mixly_key:()=>WO,iot_mqtt_client:()=>qO,iot_mqtt_data:()=>zO,iot_onenet_check:()=>SO,iot_onenet_connect:()=>gO,iot_onenet_disconnect:()=>CO,iot_onenet_publish:()=>LO,iot_onenet_publish_dict:()=>AO,iot_onenetconnect:()=>$O,iot_onenetdisconnect:()=>ZO,iot_publish:()=>eR,iot_publish_container:()=>NO,iot_publish_item:()=>DO,iot_tiny_web_db_count:()=>lR,iot_tiny_web_db_delete:()=>TR,iot_tiny_web_db_get:()=>dR,iot_tiny_web_db_init:()=>aR,iot_tiny_web_db_init_with_mqtt:()=>uR,iot_tiny_web_db_search:()=>IR,iot_tiny_web_db_update:()=>rR,iot_wifi_connect:()=>cO,iot_wificonnect:()=>jO,ollama_empty_history:()=>pR,use_ollama_llm_to_chat:()=>_R,use_ollama_llm_to_chat_return:()=>oR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>QR,educore_mqtt_connect_success:()=>$R,educore_mqtt_subscribe_message:()=>qR,educore_mqtt_topic_publish:()=>jR,educore_mqtt_topic_subscribe:()=>zR,educore_wifi_connect:()=>JR,network_ap_connect:()=>AR,network_connect:()=>RR,network_get_connect:()=>gR,network_get_wifi:()=>SR,network_init:()=>hR,network_is_active:()=>ER,network_open:()=>mR,network_scan:()=>OR,network_server:()=>LR,network_socket_accept:()=>PR,network_socket_bind:()=>DR,network_socket_close:()=>bR,network_socket_connect:()=>fR,network_socket_init:()=>NR,network_socket_listen:()=>FR,network_socket_readline:()=>YR,network_socket_receive:()=>vR,network_socket_receive_from:()=>xR,network_socket_send:()=>XR,network_socket_send_to:()=>yR,network_stop:()=>CR,network_wifi_connect:()=>cR,ntptime_address:()=>wR,ntptime_time:()=>UR,requests_attribute:()=>BR,requests_attribute2:()=>KR,requests_get:()=>VR,requests_get2:()=>HR,requests_method:()=>GR,requests_post:()=>WR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>ec,pe_g1_dc_motor:()=>ic,pe_g1_dc_motor_speed:()=>nc,pe_g1_servo_get_angle:()=>oc,pe_g1_servo_get_speed:()=>pc,pe_g1_servo_set_angle:()=>sc,pe_g1_servo_set_speed:()=>_c,pe_g1_use_i2c_init:()=>tc});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>Yc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Pc,CI130X_GET_WHETHER_IDENTIFY:()=>Fc,CI130X_IDENTIFY_AND_SAVE:()=>fc,CI130X_SET_SYSTEM_CMD:()=>vc,HCSR04:()=>cg,PS2_Button:()=>Ag,PS2_Buttons:()=>Ng,PS2_Buttons_new:()=>Pg,PS2_State:()=>Lg,PS2_init:()=>gg,PS2_init_new:()=>fg,PS2_stk:()=>Dg,PS2_stk_new:()=>Yg,PS2_vibration:()=>Sg,PS2_vibration_new:()=>Fg,camera_sensor_init:()=>aC,camera_sensor_result:()=>uC,column_tube_foot:()=>TC,define_keyboards:()=>MC,educore_body_sensor:()=>$g,educore_button_sensor_extern:()=>iC,educore_camera_sensor:()=>pC,educore_infrared_sensor:()=>eC,educore_soilhum_sensor:()=>Zg,educore_temp_sensor:()=>oC,educore_temphum_sensor:()=>tC,educore_ultrasonic_sensor:()=>sC,esp32_s2_weather_init:()=>mg,esp32_s2_weather_rain:()=>Og,esp32_s2_weather_wd:()=>Eg,esp32_s2_weather_ws:()=>Rg,extern_rfid_read:()=>ng,extern_rfid_readcontent:()=>_g,extern_rfid_readid:()=>sg,extern_rfid_status:()=>ag,extern_rfid_write:()=>og,extern_rfid_write_return:()=>pg,get_keboards_value:()=>hC,gnss_get_data:()=>yg,gnss_have_data:()=>xg,init_init_rotary_encoder:()=>mC,init_matrix_keyboard:()=>lC,interaction_whether_to_interaction:()=>Nc,interaction_whether_to_interaction_SANT:()=>Dc,line_tube_foot:()=>IC,mixbot_sensor_extern_get_addr:()=>Hg,mixbot_sensor_extern_set_addr:()=>Wg,pm25_get_data:()=>Xg,radar_set_DETECTION_THRESHOLD:()=>Ac,radar_set_DETECTION_THRESHOLD_SANT:()=>Lc,robot_button_extern_get_value:()=>Vg,robot_color_extern_get_value:()=>kg,robot_infrared_extern_get_value:()=>Gg,robot_infrared_extern_grey_get_value:()=>Ug,robot_potentiometer_extern_get_value:()=>wg,robot_sonar_extern_get_value:()=>Kg,robot_sonar_extern_led:()=>Jg,robot_touch_extern_get_value:()=>Bg,rotary_key:()=>EC,sensor_APDS9960_extern:()=>xc,sensor_DS18X20:()=>gc,sensor_LTR308_extern:()=>yc,sensor_LTR390UV_extern:()=>Bc,sensor_MAX30102_extern:()=>Xc,sensor_QMC5883L_extern:()=>Jc,sensor_VL530LX_extern:()=>Gc,sensor_adxl345_get_acceleration:()=>Tc,sensor_aht11_extern:()=>wc,sensor_bmp:()=>Rc,sensor_compass_reset:()=>eg,sensor_dht11:()=>hc,sensor_hp203_extern:()=>kc,sensor_light_level:()=>Mc,sensor_lm35:()=>Cc,sensor_ltr381_extern:()=>bc,sensor_mixgo_extern_button_attachInterrupt:()=>lc,sensor_mixgo_extern_button_get_presses:()=>dc,sensor_mixgo_extern_button_is_pressed:()=>uc,sensor_mixgo_extern_button_was_pressed:()=>rc,sensor_mixgo_extern_light:()=>mc,sensor_mixgo_extern_pin_near:()=>Oc,sensor_mixgo_extern_sound:()=>Ec,sensor_mixgoce_hot_wheel_degrees:()=>hg,sensor_mixgoce_hot_wheel_is_touched:()=>Mg,sensor_mpu9250_attachGestureInterrupt:()=>Ic,sensor_mpu9250_calibrate_compass:()=>$c,sensor_mpu9250_field_strength:()=>tg,sensor_mpu9250_gesture:()=>Qc,sensor_mpu9250_get_acceleration:()=>qc,sensor_mpu9250_get_gyro:()=>jc,sensor_mpu9250_get_magnetic:()=>zc,sensor_mpu9250_temperature:()=>Zc,sensor_ms5611_extern:()=>Wc,sensor_ms5611_extern_altitude:()=>Kc,sensor_read_humiture:()=>nC,sensor_sht:()=>cc,sensor_shtc3_extern:()=>Uc,sensor_spl06_001_extern:()=>Hc,sensor_ucs12071_extern:()=>Vc,sensor_use_i2c_init:()=>Sc,sensor_use_spi_init:()=>ig,sensor_use_uart_init:()=>vg,sensor_weather_solo_init:()=>Qg,sensor_weather_solo_rain:()=>jg,sensor_weather_solo_wd:()=>qg,sensor_weather_solo_ws:()=>zg,sensor_weigh_init:()=>rC,tvoc_get_data:()=>bg,ultrasonic_sensor_read_distance:()=>_C,weather_data:()=>ug,weather_have_data:()=>rg,weather_set_label:()=>lg,weather_set_label_container:()=>Ig,weather_set_label_item:()=>Tg,weather_uart_mixio:()=>dg,weigh_sensor_get_weight:()=>dC});var k={};t.r(k),t.d(k,{HCSR04:()=>xC,RTC_set_date:()=>XC,RTC_set_time:()=>vC,bitbot_als_num:()=>HS,dht11:()=>jS,educore_button_sensor:()=>oA,educore_button_was_pressed:()=>pA,educore_gyroscope_sensor:()=>nA,educore_gyroscope_sensor_read:()=>sA,educore_gyroscope_sensor_shake:()=>_A,educore_light_sensor:()=>iA,educore_rfid_sensor:()=>aA,educore_rfid_sensor_scan:()=>uA,educore_rfid_sensor_scan_data:()=>rA,educore_voice_sensor:()=>tA,number1:()=>bC,number2:()=>VC,number3:()=>BC,number4:()=>GC,number5:()=>UC,number6:()=>wC,number7:()=>kC,onboard_RTC_get_time:()=>jC,onboard_RTC_get_time_str:()=>nS,onboard_RTC_get_timestamp:()=>$C,onboard_RTC_get_timetuple_to_str:()=>sS,onboard_RTC_set_datetime:()=>eS,onboard_RTC_settime_string:()=>tS,onboard_RTC_timestamp_totuple:()=>ZC,rfid_readcontent:()=>dS,rfid_readid:()=>rS,rfid_status:()=>TS,rfid_write:()=>lS,rfid_write_return:()=>IS,sensor_LTR308:()=>_S,sensor_aht11:()=>pS,sensor_bitbot_ALS:()=>kS,sensor_button_get_presses:()=>JS,sensor_button_is_pressed:()=>WS,sensor_button_was_pressed:()=>KS,sensor_distance_hrsc04:()=>YC,sensor_eulerangles:()=>hS,sensor_field_strength:()=>$S,sensor_get_acceleration:()=>MS,sensor_get_temperature:()=>aS,sensor_get_the_coprocessor_version:()=>dA,sensor_hp203:()=>uS,sensor_light:()=>zS,sensor_mixbot_get_gyro:()=>wS,sensor_mixbot_patrol_calibrate:()=>BS,sensor_mixbot_patrol_value:()=>GS,sensor_mixbot_temperature:()=>US,sensor_mixgo_LTR308:()=>qC,sensor_mixgo_button_attachInterrupt:()=>CC,sensor_mixgo_button_get_presses:()=>gC,sensor_mixgo_button_is_pressed:()=>RC,sensor_mixgo_button_was_pressed:()=>cC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>NS,sensor_mixgo_cc_mmc5603_get_angle:()=>LS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>AS,sensor_mixgo_light:()=>yC,sensor_mixgo_nova_LTR308:()=>QC,sensor_mixgo_nova_pin_near:()=>JC,sensor_mixgo_pin_near:()=>KC,sensor_mixgo_pin_near_double:()=>WC,sensor_mixgo_pin_near_single:()=>HC,sensor_mixgo_pin_pressed:()=>DC,sensor_mixgo_sant_color:()=>zC,sensor_mixgo_touch_slide:()=>PC,sensor_mixgocar42_button_attachInterrupt:()=>NC,sensor_mixgocar42_button_get_presses:()=>LC,sensor_mixgocar42_button_is_pressed:()=>SC,sensor_mixgocar42_button_was_pressed:()=>AC,sensor_mixgocar_battery_left:()=>VS,sensor_mixgocar_pin_near:()=>yS,sensor_mixgocar_pin_near_line:()=>xS,sensor_mixgocar_pin_near_state_change:()=>bS,sensor_mixgoce_pin_pressed:()=>fC,sensor_mixgoce_temperature:()=>fS,sensor_mixgome_temperature:()=>DS,sensor_mpython_pin_pressed:()=>FC,sensor_mpython_qmi8658_get_gyro:()=>FS,sensor_mpython_qmi8658_temperature:()=>PS,sensor_onboard_compass_reset:()=>SS,sensor_onboard_mpu9250_calibrate_compass:()=>cS,sensor_onboard_mpu9250_field_strength:()=>CS,sensor_onboard_mpu9250_gesture:()=>mS,sensor_onboard_mpu9250_get_acceleration:()=>ES,sensor_onboard_mpu9250_get_gyro:()=>RS,sensor_onboard_mpu9250_get_magnetic:()=>OS,sensor_onboard_mpu9250_temperature:()=>gS,sensor_pin_near:()=>qS,sensor_pin_pressed:()=>QS,sensor_read:()=>eA,sensor_rm_acc:()=>XS,sensor_rm_battery_left:()=>vS,sensor_rm_pin_near_double:()=>YS,sensor_rtc_init:()=>iS,sensor_sound:()=>oS,sensor_temperature:()=>ZS,simulated_light_sensor:()=>lA});var H={};t.r(H),t.d(H,{serial_any:()=>gA,serial_begin:()=>NA,serial_print:()=>mA,serial_print_byte:()=>hA,serial_print_hex:()=>OA,serial_println:()=>EA,serial_read_from_ai:()=>yA,serial_readline:()=>CA,serial_readstr:()=>cA,serial_readstr_until:()=>SA,serial_receive_data_event:()=>RA,serial_send_to_ai:()=>xA,serial_softserial:()=>LA,serial_softserial_new:()=>AA,system_input:()=>DA,system_print:()=>fA,system_print_container:()=>vA,system_print_end:()=>PA,system_print_inline:()=>FA,system_print_item:()=>XA,system_print_many:()=>YA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>GA,Timer_init:()=>tL,base_delay:()=>nL,controls_delay:()=>BA,controls_delay_new:()=>VA,controls_millis:()=>wA,controls_uname:()=>HA,raw_block:()=>kA,reset:()=>UA,set_system_timer:()=>qA,system_bitbot_shutdown:()=>ZA,system_machine_reset:()=>$A,system_ticks_diff:()=>JA,system_timer:()=>KA,system_timer_init:()=>QA,system_wdt_feed:()=>jA,system_wdt_init:()=>zA,time_ticks_diff:()=>iL,timer:()=>WA,timer2:()=>eL});var K={};t.r(K),t.d(K,{Air_daily_content:()=>mL,Air_now_content:()=>rL,Geo_moon_content:()=>OL,Geo_sun_content:()=>EL,Life_suggestion_content:()=>lL,Location_search_content:()=>TL,Tide_daily_content:()=>IL,WEATHER_DAILY:()=>oL,WEATHER_HOUR:()=>pL,WEATHER_NOW:()=>_L,Weather_alarm_content:()=>dL,Weather_daily:()=>ML,Weather_daily_content:()=>hL,Weather_now:()=>aL,Weather_now_content:()=>uL});var J={};t.r(J),t.d(J,{PIN_init:()=>cN,actuator_extern_get_led_bright:()=>UL,actuator_extern_get_led_state:()=>wL,actuator_extern_led_bright:()=>GL,actuator_extern_led_brightness:()=>kL,actuator_ms32006_dcmotor:()=>NL,actuator_ms32006_init:()=>LL,actuator_ms32006_stepper:()=>DL,actuator_neopixel_init:()=>HL,actuator_neopixel_rgb:()=>JL,actuator_neopixel_rgb_all:()=>WL,actuator_neopixel_rgb_show_all_chase:()=>QL,actuator_neopixel_rgb_show_all_rainbow:()=>qL,actuator_neopixel_write:()=>KL,actuator_use_uart_init:()=>zL,backstage_esp32_music_play_list:()=>bL,esp32_music_get_tempo_extern:()=>xL,esp32_music_pitch:()=>FL,esp32_music_pitch_init:()=>fL,esp32_music_pitch_with_time:()=>PL,esp32_music_play_list:()=>yL,esp32_music_reset_extern:()=>VL,esp32_music_set_tempo_extern:()=>XL,esp32_music_stop:()=>YL,esp32_set_music_volume:()=>vL,mixbot_actuator_extern_get_addr:()=>ON,mixbot_actuator_extern_set_addr:()=>RN,mixbot_addr_extern:()=>oN,parrot_PIN_init:()=>AN,parrot_move_speed:()=>LN,pin_led_bright:()=>gN,player_play_music:()=>eN,player_set_mode:()=>tN,player_set_play:()=>$L,player_set_volume:()=>ZL,player_whether_stop:()=>jL,robot_led_extern:()=>rN,robot_led_extern_get_value:()=>dN,robot_motor_extern:()=>pN,robot_motor_extern_get_speed:()=>aN,robot_servo_extern_absolute_run:()=>MN,robot_servo_extern_get_status:()=>lN,robot_servo_extern_relative_continue:()=>EN,robot_servo_extern_relative_origin:()=>hN,robot_servo_extern_relative_run:()=>mN,robot_servo_extern_stop:()=>TN,robot_servo_extern_stop_mode:()=>IN,robot_traffic_light_extern:()=>uN,servo_PIN_init:()=>CN,servo_get_angle:()=>SL,servo_get_speed:()=>AL,servo_init:()=>RL,servo_move:()=>BL,servo_move_angle:()=>SN,servo_set_angle:()=>gL,servo_set_speed:()=>CL,servo_speed_360:()=>cL,syn6288_builtin_voice:()=>sN,syn6288_get_voice:()=>nN,syn6288_set_voice:()=>iN,syn6288_tts_play:()=>_N});var Q={};t.r(Q),t.d(Q,{actuator_dc_motor:()=>eD,actuator_dc_motor_stop:()=>iD,actuator_get_led_bright:()=>VN,actuator_get_led_state:()=>BN,actuator_led_bright:()=>bN,actuator_led_brightness:()=>GN,actuator_mixbot_buzzer_on_off:()=>pD,actuator_mixgo_nova_mic_get:()=>lD,actuator_mixgo_nova_mic_set:()=>dD,actuator_mixgo_nova_onboard_music_pitch:()=>ED,actuator_mixgo_nova_onboard_music_stop:()=>OD,actuator_mixgo_nova_play_audio:()=>hD,actuator_mixgo_nova_play_online_audio:()=>mD,actuator_mixgo_nova_record_audio:()=>MD,actuator_mixgo_nova_voice_get:()=>TD,actuator_mixgo_nova_voice_set:()=>ID,actuator_mixgo_zero_led_color:()=>UN,actuator_onboard_neopixel_rgb:()=>QN,actuator_onboard_neopixel_rgb_all:()=>qN,actuator_onboard_neopixel_rgb_show_all_chase:()=>zN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>jN,actuator_onboard_neopixel_write:()=>JN,actuator_stepper_keep:()=>ZN,actuator_stepper_stop:()=>tD,analog_ble_keyboard_init:()=>PD,analog_ble_keyboard_input:()=>XD,analog_ble_keyboard_mouse_init:()=>wD,analog_ble_keyboard_mouse_input:()=>KD,analog_ble_keyboard_mouse_send_battery:()=>WD,analog_ble_keyboard_mouse_str:()=>JD,analog_ble_keyboard_send_battery:()=>yD,analog_ble_keyboard_str:()=>xD,analog_ble_mouse_init:()=>bD,analog_ble_mouse_input:()=>GD,analog_ble_mouse_keyboard_input:()=>QD,analog_ble_mouse_send_battery:()=>UD,analog_keyboard_input:()=>SD,analog_keyboard_str:()=>fD,analog_mouse_input:()=>ND,backstage_onboard_music_play_list:()=>vN,bitbot_motor:()=>rD,bitbot_move:()=>aD,bitbot_stop:()=>uD,ble_keyboard_connect:()=>vD,ble_keyboard_get_mac:()=>YD,ble_keyboard_mouse_connect:()=>HD,ble_keyboard_mouse_get_mac:()=>kD,ble_mouse_connect:()=>BD,ble_mouse_get_mac:()=>VD,cc_number:()=>wN,educore_ble_keyboard_input:()=>_f,educore_ble_sensor_connected:()=>sf,educore_ble_sensor_init:()=>nf,educore_buzzer:()=>qD,educore_buzzer_play_tone:()=>zD,educore_buzzer_play_tone_time:()=>jD,educore_buzzer_stop:()=>$D,educore_neopixel_clear:()=>ef,educore_neopixel_rgb:()=>tf,educore_rgb_light:()=>ZD,esp32_music_get_tempo:()=>DN,esp32_music_reset:()=>XN,esp32_music_set_tempo:()=>NN,esp32_onboard_music_pitch:()=>fN,esp32_onboard_music_pitch_with_time:()=>FN,esp32_onboard_music_play_list:()=>YN,esp32_onboard_music_stop:()=>PN,general_key:()=>LD,general_key_tuple:()=>FD,get_keyboard_light:()=>of,get_power_output:()=>cD,ledswitch:()=>yN,mixbot_motor:()=>oD,mixbot_motor_status:()=>nD,mixbot_move:()=>sD,mixbot_stop:()=>_D,mouse_key:()=>DD,number:()=>xN,record_audio:()=>af,rm_actuator_get_led_bright:()=>HN,rm_actuator_get_led_state:()=>WN,rm_actuator_led_bright:()=>kN,rm_actuator_led_brightness:()=>KN,rm_motor:()=>$N,set_all_power_output:()=>gD,set_microphone_amplification:()=>pf,set_music_volume:()=>uf,set_part_power_output:()=>CD,set_power_output:()=>RD,special_key:()=>AD});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>wf,ai_sensor_ailocal_class:()=>Pf,ai_sensor_ailocal_class_result:()=>Yf,ai_sensor_ailocal_train:()=>Ff,ai_sensor_asr_recognize:()=>bf,ai_sensor_audio_play:()=>Xf,ai_sensor_audio_record:()=>vf,ai_sensor_barcode:()=>hf,ai_sensor_circle:()=>gf,ai_sensor_classifier_faces:()=>Uf,ai_sensor_color:()=>Lf,ai_sensor_color_chases:()=>ff,ai_sensor_color_chases_result:()=>Df,ai_sensor_config:()=>lf,ai_sensor_face:()=>Gf,ai_sensor_find_20objects:()=>kf,ai_sensor_find_barcodes:()=>mf,ai_sensor_find_circles:()=>Cf,ai_sensor_find_colors:()=>Nf,ai_sensor_find_licenseplates:()=>Bf,ai_sensor_find_lines:()=>cf,ai_sensor_find_qrcodes:()=>Mf,ai_sensor_find_rects:()=>Af,ai_sensor_find_tags:()=>Of,ai_sensor_licenseplate:()=>Vf,ai_sensor_line:()=>Rf,ai_sensor_qrcode:()=>Tf,ai_sensor_qrcode_lite:()=>df,ai_sensor_rect:()=>Sf,ai_sensor_rgb:()=>If,ai_sensor_tag:()=>Ef,ai_sensor_use_uart_init:()=>rf,ai_sensor_yolo_recognize:()=>xf,ai_sensor_yolo_recognize_result:()=>yf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>Kf,MICROPYTHON_AI_Speech_unit:()=>Wf,MICROPYTHON_AI_client:()=>Hf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>sF,mpython_blynk_app_notify:()=>Zf,mpython_blynk_email:()=>_F,mpython_blynk_get_timers:()=>eF,mpython_blynk_on_connected:()=>zf,mpython_blynk_on_disconnected:()=>qf,mpython_blynk_run:()=>$f,mpython_blynk_sensor_data_to_app:()=>nF,mpython_blynk_set_property:()=>oF,mpython_blynk_setup:()=>pF,mpython_blynk_stop_timers:()=>tF,mpython_blynk_sync_virtual:()=>Qf,mpython_blynk_terminal_widget_vpin:()=>Jf,mpython_blynktimer:()=>iF,mpython_blynktimer_run:()=>jf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>aF,cc_g1_read_joystick:()=>uF,cc_g1_read_key:()=>rF,cc_g1_turnoff:()=>dF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>OF,ce_go_get_led_bright:()=>TF,ce_go_get_led_state:()=>MF,ce_go_hall_attachInterrupt:()=>RF,ce_go_hall_data:()=>gF,ce_go_hall_initialize:()=>cF,ce_go_led_bright:()=>IF,ce_go_led_brightness:()=>hF,ce_go_light_number:()=>lF,ce_go_pin_light:()=>NF,ce_go_pin_near:()=>SF,ce_go_pin_near_line:()=>CF,ce_go_pin_near_state_change:()=>AF,ce_go_stepper_keep:()=>mF,ce_go_stepper_stop:()=>EF,educore_car:()=>DF,educore_car_pin_near:()=>YF,educore_car_pin_near_line:()=>PF,educore_car_stepper_keep:()=>fF,educore_car_stepper_stop:()=>FF,sensor_mixgome_eulerangles:()=>LF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>IP,communicate_bluetooth_connect:()=>hP,communicate_bluetooth_disconnect:()=>mP,communicate_bluetooth_handle:()=>CP,communicate_bluetooth_is_connected:()=>OP,communicate_bluetooth_mac:()=>EP,communicate_bluetooth_peripheral_init:()=>TP,communicate_bluetooth_recv:()=>gP,communicate_bluetooth_recv_only:()=>cP,communicate_bluetooth_scan:()=>MP,communicate_bluetooth_send:()=>RP,communicate_espnow_init:()=>SP,communicate_espnow_init_new:()=>AP,communicate_i2c_available:()=>GF,communicate_i2c_init:()=>xF,communicate_i2c_master_read:()=>BF,communicate_i2c_onboard:()=>vF,communicate_i2c_read:()=>yF,communicate_i2c_scan:()=>VF,communicate_i2c_write:()=>bF,communicate_ir_recv_init:()=>nP,communicate_ir_send_init:()=>aP,communicate_ow_init:()=>jF,communicate_ow_read:()=>tP,communicate_ow_reset:()=>ZF,communicate_ow_scan:()=>$F,communicate_ow_select:()=>iP,communicate_ow_write:()=>eP,communicate_spi_buffer:()=>HF,communicate_spi_init:()=>wF,communicate_spi_onboard:()=>XF,communicate_spi_read:()=>WF,communicate_spi_read_output:()=>KF,communicate_spi_readinto:()=>JF,communicate_spi_readinto_output:()=>QF,communicate_spi_set:()=>kF,communicate_spi_write:()=>qF,communicate_spi_write_readinto:()=>zF,espnow_radio_channel:()=>PP,espnow_radio_channel_new:()=>vP,espnow_radio_on_off:()=>XP,espnow_radio_rec:()=>yP,espnow_radio_recv:()=>VP,espnow_radio_recv_certain_msg:()=>BP,espnow_radio_recv_certain_msg_new:()=>UP,espnow_radio_recv_msg:()=>bP,espnow_radio_recv_new:()=>GP,espnow_radio_send:()=>xP,espnow_radio_txpower:()=>YP,i2c_slave_onreceive:()=>UF,internal_variable:()=>sP,ir_recv_timeout:()=>pP,ir_transmit_busy:()=>lP,ir_transmit_conventional_data:()=>uP,ir_transmit_raw_code:()=>dP,ir_transmit_study_code:()=>rP,ir_whether_recv:()=>oP,lora_init:()=>wP,lora_packet:()=>kP,lora_recv:()=>WP,lora_send:()=>HP,network_espnow_info:()=>NP,network_espnow_mac:()=>LP,network_espnow_recv:()=>DP,network_espnow_recv_handle:()=>FP,network_espnow_send:()=>fP,recv_fun:()=>_P,urequests_attribute:()=>JP,urequests_get:()=>KP,urequests_method:()=>QP});var et={};t.r(et),t.d(et,{display_animate:()=>OY,display_circle:()=>RY,display_color_seclet:()=>PY,display_draw_4strings:()=>lY,display_fill:()=>EY,display_lcd_use_i2c_init:()=>bY,display_line:()=>MY,display_line_arbitrarily:()=>IY,display_matrix_extern_bright_point:()=>_Y,display_matrix_extern_bright_screen:()=>pY,display_matrix_extern_clear:()=>iY,display_matrix_extern_get_pixel:()=>sY,display_matrix_extern_get_screen_pixel:()=>oY,display_matrix_extern_image_builtins:()=>aY,display_matrix_extern_scroll_string:()=>tY,display_matrix_extern_scroll_string_delay:()=>eY,display_matrix_extern_shift:()=>nY,display_matrix_extern_show_frame_string:()=>$P,display_matrix_extern_show_frame_string_delay:()=>ZP,display_matrix_extern_show_image:()=>zP,display_matrix_extern_show_image_or_string_delay:()=>jP,display_matrix_use_i2c_init:()=>qP,display_oled_drawPixel:()=>CY,display_oled_showBitmap:()=>gY,display_oled_use_i2c_init:()=>wY,display_onoff:()=>hY,display_rect:()=>TY,display_tm1650_power:()=>AY,display_tm1650_set_brightness:()=>DY,display_tm1650_show_dot:()=>NY,display_tm1650_show_num:()=>LY,display_tm_use_i2c_init:()=>SY,display_triangle:()=>cY,display_use_i2c_init:()=>dY,extern_oled_bright_point:()=>tv,extern_oled_clear:()=>jY,extern_oled_get_pixel:()=>ZY,extern_oled_hvline:()=>iv,extern_oled_line:()=>nv,extern_oled_scroll_string:()=>qY,extern_oled_scroll_string_delay:()=>zY,extern_oled_shape_rect:()=>ev,extern_oled_shift:()=>$Y,extern_oled_show_frame_string:()=>JY,extern_oled_show_frame_string_delay:()=>QY,extern_oled_show_image:()=>kY,extern_oled_show_image_or_string_delay:()=>KY,extern_oled_show_image_xy:()=>HY,extern_oled_show_string:()=>WY,image_shift:()=>mY,lcd_backlight:()=>GY,lcd_clear:()=>UY,lcd_print_string:()=>BY,lcd_show_image_or_string_delay:()=>VY,matrix_extern_image_arithmetic:()=>uY,matrix_extern_image_invert:()=>rY,tft_fill:()=>xY,tft_line_arbitrarily:()=>yY,tft_scroll_string_delay:()=>XY,tft_show_frame_string_delay:()=>vY,tft_show_image_or_string_delay:()=>YY,tft_show_image_xy:()=>FY,tft_use_spi_init:()=>fY});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>zv,bitbot_display_image_create:()=>qv,display_available:()=>mv,display_bitmap_create:()=>Mv,display_bright_point:()=>gv,display_bright_screen:()=>Sv,display_clear:()=>hv,display_get_pixel:()=>cv,display_get_screen_pixel:()=>Cv,display_image_builtins:()=>lv,display_image_builtins_all:()=>Iv,display_image_create:()=>Tv,display_scroll_string:()=>av,display_scroll_string_delay:()=>uv,display_scroll_way:()=>rv,display_shift:()=>Rv,display_show_frame_string:()=>ov,display_show_frame_string_delay:()=>pv,display_show_image:()=>sv,display_show_image_or_string_delay:()=>_v,draw_pointer:()=>IX,image_arithmetic:()=>Ev,image_invert:()=>Ov,mixbot_display_bitmap_create:()=>Hv,mixbot_display_bright_screen:()=>Jv,mixbot_display_get_ambientbright:()=>Kv,mixbot_display_get_screen_pixel:()=>Wv,mixbot_display_image_create:()=>kv,mixbot_display_rotate:()=>Qv,mixgo_display_bitmap_create:()=>Pv,mixgo_display_image_create_new:()=>Fv,mixgome_display_bitmap_create:()=>Lv,mixgome_display_font:()=>fv,mixgome_display_image_create:()=>Av,mixgomini_display_bitmap_create:()=>Dv,mixgomini_display_image_create:()=>Nv,mpython_display_hvline:()=>Uv,mpython_display_line:()=>wv,mpython_display_shape_rect:()=>Gv,mpython_pbm_image:()=>Yv,nova_draw_pointer:()=>TX,onboard_oled_bright_point:()=>Bv,onboard_oled_scroll_string_delay:()=>Vv,onboard_oled_show_frame_string_delay:()=>bv,onboard_oled_show_image:()=>vv,onboard_oled_show_image_or_string_delay:()=>yv,onboard_oled_show_image_xy:()=>Xv,onboard_oled_show_string:()=>xv,onboard_tft_bright_point:()=>_X,onboard_tft_bright_screen:()=>gX,onboard_tft_clear:()=>CX,onboard_tft_clock_clear:()=>dX,onboard_tft_clock_draw:()=>rX,onboard_tft_clock_get_rtctime:()=>aX,onboard_tft_clock_init:()=>pX,onboard_tft_clock_set_time:()=>uX,onboard_tft_display_hvline:()=>iX,onboard_tft_display_line:()=>nX,onboard_tft_display_shape_circle:()=>lX,onboard_tft_display_shape_rect:()=>eX,onboard_tft_fill:()=>oX,onboard_tft_get_pixel:()=>sX,onboard_tft_get_screen_pixel:()=>cX,onboard_tft_scroll_string_delay:()=>dv,onboard_tft_shift:()=>RX,onboard_tft_show_frame_string:()=>OX,onboard_tft_show_frame_string_delay:()=>tX,onboard_tft_show_image:()=>EX,onboard_tft_show_image_or_string_delay:()=>Zv,onboard_tft_show_image_xy:()=>jv,onboard_tft_show_image_xy_direct:()=>$v,onboard_tft_show_qrcode:()=>hX,onboard_tft_show_qrcode_details:()=>mX,onboard_tft_show_texts:()=>MX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>PX,factory_block_return:()=>YX,factory_block_return_with_textarea:()=>XX,factory_block_with_textarea:()=>vX,factory_callMethod_noreturn:()=>fX,factory_callMethod_return:()=>FX,factory_declare:()=>DX,factory_from_import:()=>SX,factory_function_noreturn:()=>LX,factory_function_return:()=>NX,factory_import:()=>AX,folding_block:()=>xX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>zX,inout_analog_read:()=>kX,inout_analog_read_init:()=>qX,inout_analog_write:()=>GX,inout_analog_write_init:()=>QX,inout_analog_write_set:()=>UX,inout_digital_init:()=>KX,inout_digital_read:()=>VX,inout_digital_write:()=>bX,inout_highlow:()=>yX,inout_pin_attachInterrupt:()=>WX,inout_pin_pressed:()=>HX,inout_pin_pressed_init:()=>jX,inout_pwm_analog_write:()=>BX,inout_pwm_analog_write_init:()=>JX,inout_pwm_analog_write_set_freq:()=>wX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>Lx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>mx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Mx,IOT_EMQX_PING:()=>Ex,IOT_FORMATTING:()=>Ix,IOT_FORMAT_STRING:()=>Tx,IOT_MIXIO_NTP:()=>Ox,IOT_MIXIO_PUBLISH:()=>_x,IOT_MIXIO_PUBLISHEX:()=>ox,IOT_MIXIO_SUBSCRIBE:()=>px,iot_client_onboard:()=>Rx,iot_connect_ollama:()=>Ax,iot_connect_openai:()=>Nx,iot_http_client:()=>cx,iot_http_data:()=>gx,iot_mixio_check:()=>rx,iot_mixio_connect:()=>sx,iot_mixio_connect_only:()=>ux,iot_mixio_disconnect:()=>ax,iot_mixio_format_msg:()=>lx,iot_mixio_format_topic:()=>dx,iot_mixly_key:()=>hx,iot_mqtt_client:()=>Cx,iot_mqtt_data:()=>Sx,iot_onenet_check:()=>ix,iot_onenet_connect:()=>ZX,iot_onenet_disconnect:()=>tx,iot_onenet_publish:()=>nx,iot_onenet_publish_dict:()=>ex,iot_tiny_web_db_count:()=>xx,iot_tiny_web_db_delete:()=>bx,iot_tiny_web_db_get:()=>Xx,iot_tiny_web_db_init:()=>Px,iot_tiny_web_db_init_with_mqtt:()=>Yx,iot_tiny_web_db_search:()=>yx,iot_tiny_web_db_update:()=>vx,iot_wifi_connect:()=>$X,ollama_empty_history:()=>Fx,use_ollama_llm_to_chat:()=>Dx,use_ollama_llm_to_chat_return:()=>fx});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>My,educore_mqtt_connect_success:()=>Oy,educore_mqtt_subscribe_message:()=>hy,educore_mqtt_topic_publish:()=>Ey,educore_mqtt_topic_subscribe:()=>my,educore_wifi_connect:()=>Ty,network_ap_connect:()=>Kx,network_connect:()=>Bx,network_get_connect:()=>Ux,network_get_wifi:()=>Wx,network_init:()=>Vx,network_is_active:()=>Hx,network_open:()=>kx,network_scan:()=>Jx,network_server:()=>Qx,network_socket_accept:()=>Zx,network_socket_bind:()=>zx,network_socket_close:()=>_y,network_socket_connect:()=>jx,network_socket_init:()=>qx,network_socket_listen:()=>$x,network_socket_readline:()=>ty,network_socket_receive:()=>ey,network_socket_receive_from:()=>ny,network_socket_send:()=>iy,network_socket_send_to:()=>sy,network_stop:()=>wx,network_wifi_connect:()=>Gx,ntptime_address:()=>ry,ntptime_time:()=>uy,requests_attribute:()=>py,requests_attribute2:()=>ly,requests_get:()=>oy,requests_get2:()=>dy,requests_method:()=>ay,requests_post:()=>Iy});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>cy,pe_g1_dc_motor:()=>gy,pe_g1_dc_motor_speed:()=>Cy,pe_g1_servo_get_angle:()=>Ly,pe_g1_servo_get_speed:()=>Ny,pe_g1_servo_set_angle:()=>Sy,pe_g1_servo_set_speed:()=>Ay,pe_g1_use_i2c_init:()=>Ry});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>zy,CI130X_GET_THE_RECOGNIZED_CMD:()=>qy,CI130X_GET_WHETHER_IDENTIFY:()=>Qy,CI130X_IDENTIFY_AND_SAVE:()=>Jy,CI130X_SET_SYSTEM_CMD:()=>jy,HCSR04:()=>fb,PS2_Button:()=>Yb,PS2_Buttons:()=>vb,PS2_Buttons_new:()=>Ub,PS2_State:()=>Xb,PS2_init:()=>Fb,PS2_init_new:()=>Bb,PS2_stk:()=>xb,PS2_stk_new:()=>wb,PS2_vibration:()=>Pb,PS2_vibration_new:()=>Gb,RTC_get_time:()=>bb,RTC_set_date:()=>xy,RTC_set_datetime:()=>yb,RTC_set_time:()=>Xy,camera_sensor_init:()=>OV,camera_sensor_result:()=>RV,column_tube_foot:()=>SV,define_keyboards:()=>AV,educore_body_sensor:()=>uV,educore_button_sensor_extern:()=>IV,educore_camera_sensor:()=>EV,educore_infrared_sensor:()=>lV,educore_soilhum_sensor:()=>rV,educore_temp_sensor:()=>mV,educore_temphum_sensor:()=>dV,educore_ultrasonic_sensor:()=>MV,esp32_s2_weather_init:()=>Ab,esp32_s2_weather_rain:()=>Nb,esp32_s2_weather_wd:()=>Lb,esp32_s2_weather_ws:()=>Db,extern_rfid_read:()=>Ib,extern_rfid_readcontent:()=>Mb,extern_rfid_readid:()=>Tb,extern_rfid_status:()=>Eb,extern_rfid_write:()=>hb,extern_rfid_write_return:()=>mb,get_keboards_value:()=>NV,gnss_get_data:()=>Wb,gnss_have_data:()=>Kb,init_init_rotary_encoder:()=>DV,init_matrix_keyboard:()=>LV,interaction_whether_to_interaction:()=>Wy,interaction_whether_to_interaction_SANT:()=>Ky,line_tube_foot:()=>CV,mixbot_sensor_extern_get_addr:()=>iV,mixbot_sensor_extern_set_addr:()=>nV,pm25_get_data:()=>Hb,radar_set_DETECTION_THRESHOLD:()=>ky,radar_set_DETECTION_THRESHOLD_SANT:()=>Hy,robot_button_extern_get_value:()=>Qb,robot_color_extern_get_value:()=>Zb,robot_infrared_extern_get_value:()=>zb,robot_infrared_extern_grey_get_value:()=>jb,robot_potentiometer_extern_get_value:()=>$b,robot_sonar_extern_get_value:()=>tV,robot_sonar_extern_led:()=>eV,robot_touch_extern_get_value:()=>qb,rotary_key:()=>fV,sensor_APDS9960_extern:()=>Zy,sensor_DS18X20:()=>aV,sensor_LTR308_extern:()=>tb,sensor_LTR390UV_extern:()=>pb,sensor_MAX30102_extern:()=>$y,sensor_QMC5883L_extern:()=>ab,sensor_VL530LX_extern:()=>db,sensor_aht11_extern:()=>rb,sensor_bmp:()=>Gy,sensor_dht11:()=>Vb,sensor_distance_hrsc04:()=>vy,sensor_hp203_extern:()=>eb,sensor_ltr381_extern:()=>_b,sensor_mixgo_extern_button_attachInterrupt:()=>Py,sensor_mixgo_extern_button_get_presses:()=>Fy,sensor_mixgo_extern_button_is_pressed:()=>Dy,sensor_mixgo_extern_button_was_pressed:()=>fy,sensor_mixgo_extern_light:()=>yy,sensor_mixgo_extern_pin_near:()=>Vy,sensor_mixgo_extern_sound:()=>by,sensor_mixgoce_hot_wheel_degrees:()=>Sb,sensor_mixgoce_hot_wheel_is_touched:()=>Cb,sensor_mpu9250_attachGestureInterrupt:()=>Yy,sensor_ms5611_extern:()=>nb,sensor_ms5611_extern_altitude:()=>sb,sensor_read_humiture:()=>TV,sensor_rtc_init:()=>By,sensor_sht:()=>Uy,sensor_shtc3_extern:()=>ub,sensor_spl06_001_extern:()=>ib,sensor_ucs12071_extern:()=>ob,sensor_use_i2c_init:()=>wy,sensor_use_spi_init:()=>lb,sensor_use_uart_init:()=>kb,sensor_weather_solo_init:()=>sV,sensor_weather_solo_rain:()=>pV,sensor_weather_solo_wd:()=>_V,sensor_weather_solo_ws:()=>oV,sensor_weigh_init:()=>cV,tvoc_get_data:()=>Jb,ultrasonic_sensor_read_distance:()=>hV,weather_data:()=>Ob,weather_have_data:()=>Rb,weather_set_label:()=>gb,weather_uart_mixio:()=>cb,weigh_sensor_get_weight:()=>gV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>VV,bitbot_als_num:()=>oG,dht11:()=>TG,educore_button_sensor:()=>cG,educore_button_was_pressed:()=>gG,educore_gyroscope_sensor:()=>EG,educore_gyroscope_sensor_read:()=>OG,educore_gyroscope_sensor_shake:()=>RG,educore_light_sensor:()=>mG,educore_rfid_sensor:()=>CG,educore_rfid_sensor_scan:()=>SG,educore_rfid_sensor_scan_data:()=>AG,educore_voice_sensor:()=>MG,number1:()=>BV,number2:()=>GV,number3:()=>UV,number4:()=>wV,number5:()=>kV,number6:()=>HV,number7:()=>WV,onboard_RTC_get_time:()=>yB,onboard_RTC_get_time_str:()=>BB,onboard_RTC_get_timestamp:()=>bB,onboard_RTC_get_timetuple_to_str:()=>GB,onboard_RTC_set_datetime:()=>XB,onboard_RTC_settime_string:()=>xB,onboard_RTC_timestamp_totuple:()=>VB,rfid_readcontent:()=>pB,rfid_readid:()=>oB,rfid_status:()=>rB,rfid_write:()=>aB,rfid_write_return:()=>uB,sensor_LTR308:()=>eB,sensor_adxl345_get_acceleration:()=>OB,sensor_aht11:()=>sB,sensor_bitbot_ALS:()=>_G,sensor_button_get_presses:()=>uG,sensor_button_is_pressed:()=>pG,sensor_button_was_pressed:()=>aG,sensor_compass_reset:()=>AB,sensor_ds18x20:()=>ZV,sensor_eulerangles:()=>lB,sensor_get_acceleration:()=>dB,sensor_get_temperature:()=>_B,sensor_get_the_coprocessor_version:()=>LG,sensor_hp203:()=>nB,sensor_light:()=>IG,sensor_lm35:()=>tB,sensor_mixbot_get_gyro:()=>sG,sensor_mixbot_patrol_calibrate:()=>eG,sensor_mixbot_patrol_value:()=>iG,sensor_mixbot_temperature:()=>nG,sensor_mixgo_LTR308:()=>zV,sensor_mixgo_button_attachInterrupt:()=>vV,sensor_mixgo_button_get_presses:()=>YV,sensor_mixgo_button_is_pressed:()=>FV,sensor_mixgo_button_was_pressed:()=>PV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>kB,sensor_mixgo_cc_mmc5603_get_angle:()=>wB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>UB,sensor_mixgo_light:()=>lG,sensor_mixgo_nova_LTR308:()=>$V,sensor_mixgo_nova_pin_near:()=>qV,sensor_mixgo_pin_near:()=>QV,sensor_mixgo_pin_near_double:()=>JV,sensor_mixgo_pin_near_single:()=>KV,sensor_mixgo_pin_pressed:()=>mB,sensor_mixgo_sant_color:()=>jV,sensor_mixgo_touch_slide:()=>hB,sensor_mixgocar42_button_attachInterrupt:()=>bV,sensor_mixgocar42_button_get_presses:()=>yV,sensor_mixgocar42_button_is_pressed:()=>XV,sensor_mixgocar42_button_was_pressed:()=>xV,sensor_mixgocar_battery_left:()=>tG,sensor_mixgocar_pin_near:()=>$B,sensor_mixgocar_pin_near_line:()=>jB,sensor_mixgocar_pin_near_state_change:()=>ZB,sensor_mixgoce_pin_pressed:()=>MB,sensor_mixgoce_temperature:()=>WB,sensor_mixgome_temperature:()=>HB,sensor_mpu9250_calibrate_compass:()=>gB,sensor_mpu9250_field_strength:()=>SB,sensor_mpu9250_gesture:()=>IB,sensor_mpu9250_get_acceleration:()=>TB,sensor_mpu9250_get_gyro:()=>cB,sensor_mpu9250_get_magnetic:()=>RB,sensor_mpu9250_temperature:()=>CB,sensor_mpython_pin_pressed:()=>EB,sensor_mpython_qmi8658_get_gyro:()=>KB,sensor_mpython_qmi8658_temperature:()=>JB,sensor_onboard_compass_reset:()=>vB,sensor_onboard_mpu9250_calibrate_compass:()=>FB,sensor_onboard_mpu9250_field_strength:()=>YB,sensor_onboard_mpu9250_gesture:()=>LB,sensor_onboard_mpu9250_get_acceleration:()=>NB,sensor_onboard_mpu9250_get_gyro:()=>fB,sensor_onboard_mpu9250_get_magnetic:()=>DB,sensor_onboard_mpu9250_temperature:()=>PB,sensor_pin_near:()=>dG,sensor_pin_pressed:()=>rG,sensor_read:()=>hG,sensor_rm_acc:()=>zB,sensor_rm_battery_left:()=>qB,sensor_rm_pin_near_double:()=>QB,sensor_sound:()=>iB,simulated_light_sensor:()=>NG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>YG,serial_print:()=>DG,serial_print_byte:()=>fG,serial_print_hex:()=>PG,serial_println:()=>FG,serial_read_from_ai:()=>kG,serial_readline:()=>XG,serial_readstr:()=>vG,serial_send_to_ai:()=>wG,serial_softserial:()=>xG,serial_softserial_new:()=>yG,system_input:()=>bG,system_print:()=>VG,system_print_end:()=>GG,system_print_inline:()=>BG,system_print_many:()=>UG});var dt={};t.r(dt),t.d(dt,{Panic_with_status_code:()=>eU,Timer_init:()=>mU,base_delay:()=>RU,controls_delay:()=>oU,controls_delay_new:()=>pU,controls_end_program:()=>nU,controls_millis:()=>iU,controls_uname:()=>_U,reset:()=>sU,set_system_timer:()=>uU,system_bitbot_shutdown:()=>hU,system_device_name:()=>ZG,system_device_serial_number:()=>tU,system_event_bus_source:()=>jG,system_event_bus_value:()=>$G,system_machine_reset:()=>MU,system_on_event:()=>QG,system_raise_event:()=>JG,system_reset:()=>WG,system_run_in_background:()=>HG,system_ticks_diff:()=>rU,system_timer:()=>lU,system_timer_init:()=>dU,system_timestamp:()=>qG,system_value:()=>zG,system_wait:()=>KG,system_wdt_feed:()=>TU,system_wdt_init:()=>IU,time_ticks_diff:()=>OU,timer:()=>aU,timer2:()=>EU});var lt={};t.r(lt),t.d(lt,{Air_daily_content:()=>vU,Air_now_content:()=>LU,Geo_moon_content:()=>xU,Geo_sun_content:()=>XU,Life_suggestion_content:()=>DU,Location_search_content:()=>FU,Tide_daily_content:()=>fU,WEATHER_DAILY:()=>gU,WEATHER_HOUR:()=>CU,WEATHER_NOW:()=>cU,Weather_alarm_content:()=>NU,Weather_daily:()=>PU,Weather_daily_content:()=>YU,Weather_now:()=>SU,Weather_now_content:()=>AU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>GU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>wU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>aw,inout_analog_atten:()=>$U,inout_analog_write:()=>zU,inout_analog_write_init:()=>iw,inout_analog_write_set:()=>jU,inout_analog_write_set_freq:()=>sw,inout_digital_init:()=>ew,inout_digital_read:()=>qU,inout_digital_write:()=>QU,inout_highlow:()=>JU,inout_pinMode:()=>_w,inout_pin_attachInterrupt:()=>tw,inout_pin_pressed:()=>ZU,inout_pin_pressed_init:()=>nw,pin_pressed:()=>pw,pin_pressed_init:()=>ow});var mt={};t.r(mt),t.d(mt,{me_g1_aht11:()=>rw,me_g1_hp203:()=>dw,me_g1_rfid_readcontent:()=>Tw,me_g1_rfid_readid:()=>Iw,me_g1_rfid_status:()=>mw,me_g1_rfid_write:()=>Mw,me_g1_rfid_write_outcome:()=>hw,me_g1_varistor:()=>lw});var Et={};t.r(Et),t.d(Et,{analog_input:()=>Lw,analog_output:()=>Dw,espnow_channel:()=>Cw,haskylens_model:()=>Sw,i2c_A_pin:()=>fw,i2c_B_pin:()=>Fw,pins_analog:()=>xw,pins_analog_pin:()=>yw,pins_axis:()=>Zw,pins_brightness:()=>tk,pins_builtinimg:()=>Kw,pins_builtinimg_extern:()=>Jw,pins_button:()=>Bw,pins_buttonB:()=>Gw,pins_dac:()=>bw,pins_dac_pin:()=>Vw,pins_digital:()=>Ow,pins_digital_dot:()=>ak,pins_digital_pin:()=>Rw,pins_exlcdh:()=>jw,pins_exlcdv:()=>$w,pins_imglist:()=>Qw,pins_input_pin:()=>cw,pins_one_more:()=>pk,pins_output_pin:()=>gw,pins_playlist:()=>qw,pins_playlist_extern:()=>zw,pins_pwm:()=>Uw,pins_pwm_pin:()=>ww,pins_radio_datarate:()=>ok,pins_radio_power:()=>_k,pins_serial:()=>Ww,pins_tone_notes:()=>sk,pins_touch:()=>Hw,pins_touch_pin:()=>kw,pins_tts_bgmusic:()=>nk,pins_tts_builtin_music:()=>ik,pins_tts_voice:()=>ek,pwm_input:()=>Aw,pwm_output:()=>Nw,spi_A_pin:()=>Pw,spi_B_pin:()=>Yw,spi_C_pin:()=>vw,spi_D_pin:()=>Xw,timer_id_pin:()=>uk});var Ot={};t.r(Ot),t.d(Ot,{inout_analog_atten:()=>Ok,inout_analog_write:()=>Ik,inout_analog_write_init:()=>Ek,inout_analog_write_set:()=>Tk,inout_digital_init:()=>mk,inout_digital_read:()=>lk,inout_digital_write:()=>dk,inout_highlow:()=>rk,inout_pin_attachInterrupt:()=>hk,inout_pin_pressed:()=>Mk,inout_pin_pressed_init:()=>Rk});var Rt={};t.r(Rt),t.d(Rt,{me_g1_aht11:()=>ck,me_g1_hp203:()=>gk,me_g1_rfid_readcontent:()=>Ak,me_g1_rfid_readid:()=>Sk,me_g1_rfid_status:()=>Dk,me_g1_rfid_write:()=>Lk,me_g1_rfid_write_outcome:()=>Nk,me_g1_varistor:()=>Ck});var ct={};t.r(ct),t.d(ct,{analog_input:()=>Vk,analog_output:()=>Gk,espnow_channel:()=>yk,haskylens_model:()=>bk,i2c_A_pin:()=>Uk,i2c_B_pin:()=>wk,pins_analog:()=>Qk,pins_analog_pin:()=>Jk,pins_axis:()=>aH,pins_brightness:()=>dH,pins_builtinimg:()=>nH,pins_builtinimg_extern:()=>sH,pins_button:()=>Fk,pins_buttonB:()=>Pk,pins_dac:()=>$k,pins_dac_pin:()=>jk,pins_digital:()=>fk,pins_digital_dot:()=>OH,pins_digital_pin:()=>Yk,pins_exlcdh:()=>uH,pins_exlcdv:()=>rH,pins_imglist:()=>_H,pins_input_pin:()=>vk,pins_interrupt:()=>eH,pins_one_more:()=>EH,pins_output_pin:()=>Xk,pins_playlist:()=>oH,pins_playlist_extern:()=>pH,pins_pwm:()=>zk,pins_pwm_input:()=>xk,pins_pwm_pin:()=>qk,pins_radio_datarate:()=>mH,pins_radio_power:()=>hH,pins_serial:()=>iH,pins_tone_notes:()=>MH,pins_touch:()=>tH,pins_touch_pin:()=>Zk,pins_tts_bgmusic:()=>TH,pins_tts_builtin_music:()=>IH,pins_tts_voice:()=>lH,pwm_output:()=>Bk,spi_A_pin:()=>kk,spi_B_pin:()=>Hk,spi_C_pin:()=>Wk,spi_D_pin:()=>Kk,timer_id_pin:()=>RH});const gt=Blockly,Ct=Mixly,St={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},At=St; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>vt,controls_typeLists:()=>Xt,lists_zip:()=>yt,lists_zip_container:()=>xt,lists_zip_item:()=>bt,unpack_iterable_object:()=>Vt,variables_change:()=>Pt,variables_get:()=>ft,variables_global:()=>Yt,variables_set:()=>Ft});var i={};t.r(i),t.d(i,{base_setup:()=>Ut,controls_delay:()=>wt,controls_end_program:()=>kt,controls_except:()=>ie,controls_finally:()=>ne,controls_flow_statements:()=>qt,controls_for:()=>zt,controls_forEach:()=>Kt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>te,controls_if_elseif:()=>Zt,controls_if_if:()=>$t,controls_lambda:()=>_e,controls_main:()=>Gt,controls_pass:()=>oe,controls_range:()=>Wt,controls_repeat_ext:()=>se,controls_thread:()=>pe,controls_try:()=>ee,controls_try_finally:()=>Qt,controls_whileUntil:()=>Jt,datetime_fromtimestamp:()=>Ie,do_while:()=>ae,garbage_collection:()=>ue,gene_unique_identifier:()=>Te,get_mem_alloc:()=>re,get_mem_free:()=>de,get_unique_identifier:()=>le});var n={};t.r(n),t.d(n,{base_map:()=>ye,generate_cartesian_product:()=>be,math_arithmetic:()=>Oe,math_bit:()=>ce,math_constant:()=>me,math_constant_mp:()=>Ee,math_constrain:()=>De,math_dec:()=>Ce,math_degree_to_radian:()=>Be,math_indexer_number:()=>Fe,math_map:()=>fe,math_max_min:()=>Ae,math_number:()=>he,math_number_base_conversion:()=>Le,math_radian_to_degree:()=>Ve,math_random:()=>Ne,math_random_seed:()=>Pe,math_round:()=>Ye,math_selfcalcu:()=>Re,math_to_int:()=>Se,math_trig:()=>ge,text_to_number:()=>ve,text_to_number_skulpt:()=>Xe,turn_to_int:()=>xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ke,char_to_ascii:()=>Je,number_to_text:()=>Qe,os_system:()=>Oi,text:()=>Ue,text_bytes:()=>ke,text_capital:()=>ni,text_center:()=>si,text_char:()=>He,text_char_at:()=>je,text_char_at2:()=>ze,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>di,text_create_with_item:()=>li,text_encode:()=>mi,text_equals_starts_ends:()=>ei,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>We,text_join_seq:()=>oi,text_length:()=>qe,text_random_char:()=>$e,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ti,text_substring2:()=>Ze,text_substring3:()=>Ii,text_textarea:()=>we});var _={};t.r(_),t.d(_,{ENUMERATE:()=>en,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>tn,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>qi,lists_getSublist3:()=>zi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>xi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>ln,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>dn,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>yn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>zn,storage_delete_file:()=>$n,storage_file_seek:()=>es,storage_file_tell:()=>ts,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>qn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ls,procedures_mutatorcontainer:()=>ds,procedures_return:()=>hs});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>xs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>zs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>qs});var l={};t.r(l),t.d(l,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>e_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>t_});var I={};t.r(I),t.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>d_,raw_empty:()=>I_,raw_expression:()=>l_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};t.r(T),t.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>x_,controls_if:()=>v_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>q_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>z_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>to,get_mem_free:()=>eo,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};t.r(h),t.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};t.r(m),t.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>qo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>zo,text_format:()=>ep,text_format_noreturn:()=>ip,text_join:()=>xo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>tp,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};t.r(E),t.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>dp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>lp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>xp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>ea,dicts_add_or_change:()=>Jp,dicts_clear:()=>zp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ta,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>qp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>da,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>la,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};t.r(c),t.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>xa,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>lu,tuple_create_with:()=>qa,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>za,tuple_create_with_text_return:()=>ja,tuple_del:()=>tu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>du,tuple_join:()=>eu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};t.r(A),t.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};t.r(L),t.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>xu,type_check:()=>bu});var N={};t.r(N),t.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>er,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>tr,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>lr,actuator_ms32006_init:()=>dr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>zu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>qu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>zr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>xr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>qr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Fd,actuator_dc_motor_stop:()=>Pd,actuator_get_led_bright:()=>id,actuator_get_led_state:()=>nd,actuator_led_bright:()=>ed,actuator_led_brightness:()=>sd,actuator_mixbot_buzzer_on_off:()=>xd,actuator_mixgo_nova_mic_get:()=>Ud,actuator_mixgo_nova_mic_set:()=>Gd,actuator_mixgo_nova_onboard_music_pitch:()=>Jd,actuator_mixgo_nova_onboard_music_stop:()=>Qd,actuator_mixgo_nova_play_audio:()=>Wd,actuator_mixgo_nova_play_online_audio:()=>Kd,actuator_mixgo_nova_record_audio:()=>Hd,actuator_mixgo_nova_voice_get:()=>kd,actuator_mixgo_nova_voice_set:()=>wd,actuator_mixgo_zero_led_color:()=>_d,actuator_onboard_neopixel_rgb:()=>dd,actuator_onboard_neopixel_rgb_all:()=>ld,actuator_onboard_neopixel_rgb_show_all_chase:()=>Td,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Id,actuator_onboard_neopixel_write:()=>Md,actuator_rm_onboard_neopixel_rgb:()=>hd,actuator_rm_onboard_neopixel_rgb_all:()=>md,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Ed,actuator_stepper_keep:()=>Dd,actuator_stepper_stop:()=>fd,analog_ble_keyboard_init:()=>al,analog_ble_keyboard_input:()=>dl,analog_ble_keyboard_mouse_init:()=>Ol,analog_ble_keyboard_mouse_input:()=>Cl,analog_ble_keyboard_mouse_send_battery:()=>gl,analog_ble_keyboard_mouse_str:()=>Sl,analog_ble_keyboard_send_battery:()=>Il,analog_ble_keyboard_str:()=>ll,analog_ble_mouse_init:()=>Tl,analog_ble_mouse_input:()=>ml,analog_ble_mouse_keyboard_input:()=>Al,analog_ble_mouse_send_battery:()=>El,analog_keyboard_input:()=>Zd,analog_keyboard_str:()=>pl,analog_mouse_input:()=>_l,backstage_onboard_music_play_list:()=>Ld,bitbot_motor:()=>Bd,bitbot_move:()=>bd,bitbot_stop:()=>Vd,ble_keyboard_connect:()=>rl,ble_keyboard_get_mac:()=>ul,ble_keyboard_mouse_connect:()=>cl,ble_keyboard_mouse_get_mac:()=>Rl,ble_mouse_connect:()=>hl,ble_mouse_get_mac:()=>Ml,cc_number:()=>rd,educore_ble_keyboard_input:()=>yl,educore_ble_sensor_connected:()=>Xl,educore_ble_sensor_init:()=>vl,educore_buzzer:()=>Ll,educore_buzzer_play_tone:()=>Nl,educore_buzzer_play_tone_time:()=>Dl,educore_buzzer_stop:()=>fl,educore_neopixel_clear:()=>Yl,educore_neopixel_rgb:()=>Pl,educore_rgb_light:()=>Fl,esp32_music_get_tempo:()=>Rd,esp32_music_reset:()=>cd,esp32_music_set_tempo:()=>Od,esp32_onboard_music_pitch:()=>gd,esp32_onboard_music_pitch_with_time:()=>Cd,esp32_onboard_music_play_list:()=>Ad,esp32_onboard_music_stop:()=>Sd,general_key:()=>el,general_key_tuple:()=>il,generalkey_container:()=>nl,generalkey_create_with_item:()=>sl,get_keyboard_light:()=>xl,get_power_output:()=>zd,ledswitch:()=>td,mixbot_motor:()=>yd,mixbot_motor_status:()=>Yd,mixbot_move:()=>vd,mixbot_stop:()=>Xd,mouse_key:()=>ol,number:()=>Zr,record_audio:()=>Vl,rm_actuator_get_led_bright:()=>pd,rm_actuator_get_led_state:()=>ad,rm_actuator_led_bright:()=>od,rm_actuator_led_brightness:()=>ud,rm_motor:()=>Nd,set_all_power_output:()=>jd,set_microphone_amplification:()=>bl,set_music_volume:()=>Bl,set_part_power_output:()=>$d,set_power_output:()=>qd,special_key:()=>tl});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>dI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jl,ai_sensor_circle:()=>Zl,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wl,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>Ql,ai_sensor_find_circles:()=>tI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$l,ai_sensor_find_qrcodes:()=>Hl,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>zl,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jl,ai_sensor_qrcode:()=>wl,ai_sensor_qrcode_lite:()=>kl,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Kl,ai_sensor_tag:()=>ql,ai_sensor_use_uart_init:()=>Ul,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>II});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>VI,mpython_blynk_app_notify:()=>PI,mpython_blynk_email:()=>XI,mpython_blynk_get_timers:()=>yI,mpython_blynk_on_connected:()=>DI,mpython_blynk_on_disconnected:()=>NI,mpython_blynk_run:()=>FI,mpython_blynk_sensor_data_to_app:()=>bI,mpython_blynk_set_property:()=>vI,mpython_blynk_setup:()=>BI,mpython_blynk_stop_timers:()=>YI,mpython_blynk_sync_virtual:()=>LI,mpython_blynk_terminal_widget_vpin:()=>AI,mpython_blynktimer:()=>xI,mpython_blynktimer_run:()=>fI});var Y={};t.r(Y),t.d(Y,{cc_g1_init:()=>GI,cc_g1_read_bat:()=>UI,cc_g1_read_joystick:()=>wI,cc_g1_read_key:()=>kI,cc_g1_turnoff:()=>HI});var v={};t.r(v),t.d(v,{ce_go_dc_motor:()=>ZI,ce_go_get_led_bright:()=>QI,ce_go_get_led_state:()=>qI,ce_go_hall_attachInterrupt:()=>tT,ce_go_hall_data:()=>iT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>JI,ce_go_led_brightness:()=>zI,ce_go_light_number:()=>KI,ce_go_pin_light:()=>pT,ce_go_pin_near:()=>sT,ce_go_pin_near_line:()=>nT,ce_go_pin_near_state_change:()=>_T,ce_go_stepper_keep:()=>jI,ce_go_stepper_stop:()=>$I,educore_car:()=>aT,educore_car_pin_near:()=>lT,educore_car_pin_near_line:()=>dT,educore_car_stepper_keep:()=>uT,educore_car_stepper_stop:()=>rT,sensor_mixgome_eulerangles:()=>oT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>QT,communicate_bluetooth_connect:()=>$T,communicate_bluetooth_disconnect:()=>ZT,communicate_bluetooth_handle:()=>sM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>jT,communicate_bluetooth_peripheral_init:()=>qT,communicate_bluetooth_recv:()=>iM,communicate_bluetooth_recv_only:()=>nM,communicate_bluetooth_scan:()=>zT,communicate_bluetooth_send:()=>tM,communicate_espnow_init:()=>_M,communicate_espnow_init_new:()=>oM,communicate_i2c_available:()=>FT,communicate_i2c_init:()=>hT,communicate_i2c_master_read:()=>fT,communicate_i2c_onboard:()=>TT,communicate_i2c_read:()=>mT,communicate_i2c_scan:()=>OT,communicate_i2c_write:()=>ET,communicate_ir_recv_init:()=>VT,communicate_ir_send_init:()=>kT,communicate_ow_init:()=>YT,communicate_ow_read:()=>XT,communicate_ow_reset:()=>bT,communicate_ow_scan:()=>vT,communicate_ow_select:()=>xT,communicate_ow_write:()=>yT,communicate_spi_buffer:()=>gT,communicate_spi_init:()=>RT,communicate_spi_onboard:()=>MT,communicate_spi_read:()=>CT,communicate_spi_read_output:()=>ST,communicate_spi_readinto:()=>AT,communicate_spi_readinto_output:()=>LT,communicate_spi_set:()=>cT,communicate_spi_write:()=>NT,communicate_spi_write_readinto:()=>DT,espnow_radio_channel:()=>lM,espnow_radio_channel_new:()=>TM,espnow_radio_on_off:()=>MM,espnow_radio_rec:()=>mM,espnow_radio_recv:()=>OM,espnow_radio_recv_certain_msg:()=>RM,espnow_radio_recv_certain_msg_new:()=>gM,espnow_radio_recv_msg:()=>EM,espnow_radio_recv_new:()=>cM,espnow_radio_send:()=>hM,espnow_radio_txpower:()=>IM,i2c_available:()=>HM,i2c_init:()=>FM,i2c_master_reader2:()=>kM,i2c_read:()=>PM,i2c_scan:()=>vM,i2c_slave_onreceive:()=>PT,i2c_write:()=>YM,internal_variable:()=>BT,ir_recv_timeout:()=>wT,ir_transmit_busy:()=>JT,ir_transmit_conventional_data:()=>HT,ir_transmit_raw_code:()=>KT,ir_transmit_study_code:()=>WT,ir_whether_recv:()=>UT,lora_init:()=>CM,lora_packet:()=>SM,lora_recv:()=>LM,lora_send:()=>AM,network_espnow_info:()=>aM,network_espnow_mac:()=>pM,network_espnow_recv:()=>uM,network_espnow_recv_handle:()=>dM,network_espnow_send:()=>rM,recv_fun:()=>GT,spi_buffer:()=>xM,spi_init:()=>XM,spi_read:()=>bM,spi_read_output:()=>VM,spi_readinto:()=>BM,spi_readinto_output:()=>GM,spi_set:()=>yM,spi_write:()=>UM,spi_write_readinto:()=>wM,urequests_attribute:()=>DM,urequests_get:()=>NM,urequests_method:()=>fM});var y={};t.r(y),t.d(y,{display_animate:()=>gh,display_blink_rate:()=>Eh,display_circle:()=>Ch,display_color_seclet:()=>yh,display_draw_4strings:()=>lh,display_fill:()=>ch,display_get_screen_image:()=>mh,display_help:()=>Ah,display_image_size:()=>Ih,display_lcd_use_i2c_init:()=>Uh,display_line:()=>Mh,display_line_arbitrarily:()=>hh,display_matrix_extern_bright_point:()=>sh,display_matrix_extern_bright_screen:()=>oh,display_matrix_extern_clear:()=>ph,display_matrix_extern_get_pixel:()=>nh,display_matrix_extern_get_screen_pixel:()=>_h,display_matrix_extern_image_builtins:()=>ah,display_matrix_extern_scroll_string:()=>$M,display_matrix_extern_scroll_string_delay:()=>ZM,display_matrix_extern_shift:()=>ih,display_matrix_extern_show_frame_string:()=>th,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>zM,display_matrix_extern_show_image_or_string_delay:()=>jM,display_matrix_use_i2c_init:()=>qM,display_oled_drawPixel:()=>Nh,display_oled_showBitmap:()=>Lh,display_oled_use_i2c_init:()=>Kh,display_onoff:()=>Rh,display_rect:()=>Th,display_rgb_color:()=>Oh,display_tm1650_power:()=>fh,display_tm1650_set_brightness:()=>Yh,display_tm1650_show_dot:()=>Ph,display_tm1650_show_num:()=>Fh,display_tm_use_i2c_init:()=>Dh,display_triangle:()=>Sh,display_use_i2c_init:()=>dh,extern_oled_bright_point:()=>nm,extern_oled_clear:()=>sm,extern_oled_get_pixel:()=>im,extern_oled_hvline:()=>om,extern_oled_line:()=>pm,extern_oled_scroll_string:()=>jh,extern_oled_scroll_string_delay:()=>$h,extern_oled_shape_rect:()=>_m,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>Zh,extern_oled_show_frame_string_delay:()=>tm,extern_oled_show_image:()=>Jh,extern_oled_show_image_or_string_delay:()=>zh,extern_oled_show_image_xy:()=>Qh,extern_oled_show_string:()=>qh,lcd_backlight:()=>Hh,lcd_clear:()=>Wh,lcd_print_string:()=>kh,lcd_show_image_or_string_delay:()=>wh,matrix_extern_image_arithmetic:()=>uh,matrix_extern_image_invert:()=>rh,tft_fill:()=>Bh,tft_line_arbitrarily:()=>Gh,tft_scroll_string_delay:()=>bh,tft_show_frame_string_delay:()=>Vh,tft_show_image_or_string_delay:()=>xh,tft_show_image_xy:()=>Xh,tft_use_spi_init:()=>vh});var x={};t.r(x),t.d(x,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>tE,display_available:()=>fm,display_bitmap_create:()=>Em,display_bright_point:()=>Am,display_bright_screen:()=>Nm,display_clear:()=>Dm,display_get_pixel:()=>Sm,display_get_screen_pixel:()=>Lm,display_image_builtins:()=>Om,display_image_builtins_all:()=>Rm,display_image_create:()=>mm,display_scroll_string:()=>dm,display_scroll_string_delay:()=>lm,display_scroll_way:()=>Im,display_shift:()=>Cm,display_show_frame_string:()=>Mm,display_show_frame_string_delay:()=>hm,display_show_image:()=>um,display_show_image_or_string_delay:()=>rm,draw_pointer:()=>EE,image_arithmetic:()=>cm,image_invert:()=>gm,mixbot_display_bitmap_create:()=>qm,mixbot_display_bright_screen:()=>$m,mixbot_display_get_ambientbright:()=>jm,mixbot_display_get_screen_pixel:()=>zm,mixbot_display_image_create:()=>Qm,mixbot_display_rotate:()=>Zm,mixgo_display_bitmap_create:()=>ym,mixgo_display_image_create_new:()=>Xm,mixgome_display_bitmap_create:()=>Pm,mixgome_display_font:()=>xm,mixgome_display_image_create:()=>Fm,mixgomini_display_bitmap_create:()=>vm,mixgomini_display_image_create:()=>Ym,mpython_display_hvline:()=>Wm,mpython_display_line:()=>Km,mpython_display_shape_rect:()=>Hm,mpython_pbm_image:()=>Jm,nova_draw_pointer:()=>OE,onboard_oled_bright_point:()=>km,onboard_oled_scroll_string_delay:()=>Um,onboard_oled_show_frame_string_delay:()=>wm,onboard_oled_show_image:()=>bm,onboard_oled_show_image_or_string_delay:()=>Gm,onboard_oled_show_image_xy:()=>Vm,onboard_oled_show_string:()=>Bm,onboard_tft_bright_point:()=>rE,onboard_tft_bright_screen:()=>DE,onboard_tft_clear:()=>fE,onboard_tft_clock_clear:()=>hE,onboard_tft_clock_draw:()=>ME,onboard_tft_clock_get_rtctime:()=>IE,onboard_tft_clock_init:()=>lE,onboard_tft_clock_set_time:()=>TE,onboard_tft_display_hvline:()=>pE,onboard_tft_display_line:()=>aE,onboard_tft_display_shape_circle:()=>mE,onboard_tft_display_shape_rect:()=>oE,onboard_tft_fill:()=>dE,onboard_tft_get_pixel:()=>uE,onboard_tft_get_screen_pixel:()=>NE,onboard_tft_scroll_string:()=>SE,onboard_tft_scroll_string_delay:()=>Tm,onboard_tft_shift:()=>LE,onboard_tft_show_frame_string:()=>AE,onboard_tft_show_frame_string_delay:()=>_E,onboard_tft_show_image:()=>CE,onboard_tft_show_image_or_string_delay:()=>sE,onboard_tft_show_image_xy:()=>iE,onboard_tft_show_image_xy_direct:()=>nE,onboard_tft_show_qrcode:()=>cE,onboard_tft_show_qrcode_details:()=>gE,onboard_tft_show_texts:()=>RE});var b={};t.r(b),t.d(b,{factory_block:()=>JE,factory_block_return:()=>QE,factory_block_return_with_textarea:()=>zE,factory_block_with_textarea:()=>qE,factory_callMethod_noreturn:()=>WE,factory_callMethod_return:()=>KE,factory_create_with_container:()=>UE,factory_create_with_item:()=>wE,factory_declare:()=>HE,factory_from_import:()=>VE,factory_function_noreturn:()=>GE,factory_function_return:()=>kE,factory_import:()=>BE,folding_block:()=>jE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>OO,inout_analog_atten:()=>pO,inout_analog_read:()=>oO,inout_analog_read_init:()=>IO,inout_analog_write:()=>nO,inout_analog_write_init:()=>lO,inout_analog_write_set:()=>sO,inout_analog_write_set_freq:()=>hO,inout_digital_init:()=>rO,inout_digital_read:()=>eO,inout_digital_write:()=>tO,inout_highlow:()=>ZE,inout_pinMode:()=>MO,inout_pin_attachInterrupt:()=>uO,inout_pin_pressed:()=>aO,inout_pin_pressed_init:()=>TO,inout_pwm_analog_write:()=>iO,inout_pwm_analog_write_init:()=>dO,inout_pwm_analog_write_set_freq:()=>_O,pin_pressed:()=>EO,pin_pressed_init:()=>mO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>nR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>HO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kO,IOT_EMQX_PING:()=>UO,IOT_FORMATTING:()=>BO,IOT_FORMAT_STRING:()=>GO,IOT_MIXIO_NTP:()=>wO,IOT_MIXIO_PUBLISH:()=>PO,IOT_MIXIO_PUBLISHEX:()=>YO,IOT_MIXIO_SUBSCRIBE:()=>vO,iot_checkonenet:()=>tR,iot_client_onboard:()=>KO,iot_connect_ollama:()=>iR,iot_connect_openai:()=>sR,iot_create_with_item:()=>fO,iot_http_client:()=>JO,iot_http_data:()=>QO,iot_mixio_check:()=>xO,iot_mixio_connect:()=>FO,iot_mixio_connect_only:()=>yO,iot_mixio_disconnect:()=>XO,iot_mixio_format_msg:()=>VO,iot_mixio_format_topic:()=>bO,iot_mixly_key:()=>WO,iot_mqtt_client:()=>qO,iot_mqtt_data:()=>zO,iot_onenet_check:()=>SO,iot_onenet_connect:()=>gO,iot_onenet_disconnect:()=>CO,iot_onenet_publish:()=>LO,iot_onenet_publish_dict:()=>AO,iot_onenetconnect:()=>$O,iot_onenetdisconnect:()=>ZO,iot_publish:()=>eR,iot_publish_container:()=>NO,iot_publish_item:()=>DO,iot_tiny_web_db_count:()=>lR,iot_tiny_web_db_delete:()=>TR,iot_tiny_web_db_get:()=>dR,iot_tiny_web_db_init:()=>aR,iot_tiny_web_db_init_with_mqtt:()=>uR,iot_tiny_web_db_search:()=>IR,iot_tiny_web_db_update:()=>rR,iot_wifi_connect:()=>cO,iot_wificonnect:()=>jO,ollama_empty_history:()=>pR,use_ollama_llm_to_chat:()=>_R,use_ollama_llm_to_chat_return:()=>oR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>QR,educore_mqtt_connect_success:()=>$R,educore_mqtt_subscribe_message:()=>qR,educore_mqtt_topic_publish:()=>jR,educore_mqtt_topic_subscribe:()=>zR,educore_wifi_connect:()=>JR,network_ap_connect:()=>AR,network_connect:()=>RR,network_get_connect:()=>gR,network_get_wifi:()=>SR,network_init:()=>hR,network_is_active:()=>ER,network_open:()=>mR,network_scan:()=>OR,network_server:()=>LR,network_socket_accept:()=>PR,network_socket_bind:()=>DR,network_socket_close:()=>bR,network_socket_connect:()=>fR,network_socket_init:()=>NR,network_socket_listen:()=>FR,network_socket_readline:()=>YR,network_socket_receive:()=>vR,network_socket_receive_from:()=>yR,network_socket_send:()=>XR,network_socket_send_to:()=>xR,network_stop:()=>CR,network_wifi_connect:()=>cR,ntptime_address:()=>wR,ntptime_time:()=>UR,requests_attribute:()=>BR,requests_attribute2:()=>KR,requests_get:()=>VR,requests_get2:()=>HR,requests_method:()=>GR,requests_post:()=>WR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>ec,pe_g1_dc_motor:()=>ic,pe_g1_dc_motor_speed:()=>nc,pe_g1_servo_get_angle:()=>oc,pe_g1_servo_get_speed:()=>pc,pe_g1_servo_set_angle:()=>sc,pe_g1_servo_set_speed:()=>_c,pe_g1_use_i2c_init:()=>tc});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>Yc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Pc,CI130X_GET_WHETHER_IDENTIFY:()=>Fc,CI130X_IDENTIFY_AND_SAVE:()=>fc,CI130X_SET_SYSTEM_CMD:()=>vc,HCSR04:()=>cg,PS2_Button:()=>Ag,PS2_Buttons:()=>Ng,PS2_Buttons_new:()=>Pg,PS2_State:()=>Lg,PS2_init:()=>gg,PS2_init_new:()=>fg,PS2_stk:()=>Dg,PS2_stk_new:()=>Yg,PS2_vibration:()=>Sg,PS2_vibration_new:()=>Fg,camera_sensor_init:()=>aC,camera_sensor_result:()=>uC,column_tube_foot:()=>TC,define_keyboards:()=>MC,educore_body_sensor:()=>$g,educore_button_sensor_extern:()=>iC,educore_camera_sensor:()=>pC,educore_infrared_sensor:()=>eC,educore_soilhum_sensor:()=>Zg,educore_temp_sensor:()=>oC,educore_temphum_sensor:()=>tC,educore_ultrasonic_sensor:()=>sC,esp32_s2_weather_init:()=>mg,esp32_s2_weather_rain:()=>Og,esp32_s2_weather_wd:()=>Eg,esp32_s2_weather_ws:()=>Rg,extern_rfid_read:()=>ng,extern_rfid_readcontent:()=>_g,extern_rfid_readid:()=>sg,extern_rfid_status:()=>ag,extern_rfid_write:()=>og,extern_rfid_write_return:()=>pg,get_keboards_value:()=>hC,gnss_get_data:()=>xg,gnss_have_data:()=>yg,init_init_rotary_encoder:()=>mC,init_matrix_keyboard:()=>lC,interaction_whether_to_interaction:()=>Nc,interaction_whether_to_interaction_SANT:()=>Dc,line_tube_foot:()=>IC,mixbot_sensor_extern_get_addr:()=>Hg,mixbot_sensor_extern_set_addr:()=>Wg,pm25_get_data:()=>Xg,radar_set_DETECTION_THRESHOLD:()=>Ac,radar_set_DETECTION_THRESHOLD_SANT:()=>Lc,robot_button_extern_get_value:()=>Vg,robot_color_extern_get_value:()=>kg,robot_infrared_extern_get_value:()=>Gg,robot_infrared_extern_grey_get_value:()=>Ug,robot_potentiometer_extern_get_value:()=>wg,robot_sonar_extern_get_value:()=>Kg,robot_sonar_extern_led:()=>Jg,robot_touch_extern_get_value:()=>Bg,rotary_key:()=>EC,sensor_APDS9960_extern:()=>yc,sensor_DS18X20:()=>gc,sensor_LTR308_extern:()=>xc,sensor_LTR390UV_extern:()=>Bc,sensor_MAX30102_extern:()=>Xc,sensor_QMC5883L_extern:()=>Jc,sensor_VL530LX_extern:()=>Gc,sensor_adxl345_get_acceleration:()=>Tc,sensor_aht11_extern:()=>wc,sensor_bmp:()=>Rc,sensor_compass_reset:()=>eg,sensor_dht11:()=>hc,sensor_hp203_extern:()=>kc,sensor_light_level:()=>Mc,sensor_lm35:()=>Cc,sensor_ltr381_extern:()=>bc,sensor_mixgo_extern_button_attachInterrupt:()=>lc,sensor_mixgo_extern_button_get_presses:()=>dc,sensor_mixgo_extern_button_is_pressed:()=>uc,sensor_mixgo_extern_button_was_pressed:()=>rc,sensor_mixgo_extern_light:()=>mc,sensor_mixgo_extern_pin_near:()=>Oc,sensor_mixgo_extern_sound:()=>Ec,sensor_mixgoce_hot_wheel_degrees:()=>hg,sensor_mixgoce_hot_wheel_is_touched:()=>Mg,sensor_mpu9250_attachGestureInterrupt:()=>Ic,sensor_mpu9250_calibrate_compass:()=>$c,sensor_mpu9250_field_strength:()=>tg,sensor_mpu9250_gesture:()=>Qc,sensor_mpu9250_get_acceleration:()=>qc,sensor_mpu9250_get_gyro:()=>jc,sensor_mpu9250_get_magnetic:()=>zc,sensor_mpu9250_temperature:()=>Zc,sensor_ms5611_extern:()=>Wc,sensor_ms5611_extern_altitude:()=>Kc,sensor_read_humiture:()=>nC,sensor_sht:()=>cc,sensor_shtc3_extern:()=>Uc,sensor_spl06_001_extern:()=>Hc,sensor_ucs12071_extern:()=>Vc,sensor_use_i2c_init:()=>Sc,sensor_use_spi_init:()=>ig,sensor_use_uart_init:()=>vg,sensor_weather_solo_init:()=>Qg,sensor_weather_solo_rain:()=>jg,sensor_weather_solo_wd:()=>qg,sensor_weather_solo_ws:()=>zg,sensor_weigh_init:()=>rC,tvoc_get_data:()=>bg,ultrasonic_sensor_read_distance:()=>_C,weather_data:()=>ug,weather_have_data:()=>rg,weather_set_label:()=>lg,weather_set_label_container:()=>Ig,weather_set_label_item:()=>Tg,weather_uart_mixio:()=>dg,weigh_sensor_get_weight:()=>dC});var k={};t.r(k),t.d(k,{HCSR04:()=>yC,RTC_set_date:()=>XC,RTC_set_time:()=>vC,bitbot_als_num:()=>HS,dht11:()=>jS,educore_button_sensor:()=>oA,educore_button_was_pressed:()=>pA,educore_gyroscope_sensor:()=>nA,educore_gyroscope_sensor_read:()=>sA,educore_gyroscope_sensor_shake:()=>_A,educore_light_sensor:()=>iA,educore_rfid_sensor:()=>aA,educore_rfid_sensor_scan:()=>uA,educore_rfid_sensor_scan_data:()=>rA,educore_voice_sensor:()=>tA,number1:()=>bC,number2:()=>VC,number3:()=>BC,number4:()=>GC,number5:()=>UC,number6:()=>wC,number7:()=>kC,onboard_RTC_get_time:()=>jC,onboard_RTC_get_time_str:()=>nS,onboard_RTC_get_timestamp:()=>$C,onboard_RTC_get_timetuple_to_str:()=>sS,onboard_RTC_set_datetime:()=>eS,onboard_RTC_settime_string:()=>tS,onboard_RTC_timestamp_totuple:()=>ZC,rfid_readcontent:()=>dS,rfid_readid:()=>rS,rfid_status:()=>TS,rfid_write:()=>lS,rfid_write_return:()=>IS,sensor_LTR308:()=>_S,sensor_aht11:()=>pS,sensor_bitbot_ALS:()=>kS,sensor_button_get_presses:()=>JS,sensor_button_is_pressed:()=>WS,sensor_button_was_pressed:()=>KS,sensor_distance_hrsc04:()=>YC,sensor_eulerangles:()=>hS,sensor_field_strength:()=>$S,sensor_get_acceleration:()=>MS,sensor_get_temperature:()=>aS,sensor_get_the_coprocessor_version:()=>dA,sensor_hp203:()=>uS,sensor_light:()=>zS,sensor_mixbot_get_gyro:()=>wS,sensor_mixbot_patrol_calibrate:()=>BS,sensor_mixbot_patrol_value:()=>GS,sensor_mixbot_temperature:()=>US,sensor_mixgo_LTR308:()=>qC,sensor_mixgo_button_attachInterrupt:()=>CC,sensor_mixgo_button_get_presses:()=>gC,sensor_mixgo_button_is_pressed:()=>RC,sensor_mixgo_button_was_pressed:()=>cC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>NS,sensor_mixgo_cc_mmc5603_get_angle:()=>LS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>AS,sensor_mixgo_light:()=>xC,sensor_mixgo_nova_LTR308:()=>QC,sensor_mixgo_nova_pin_near:()=>JC,sensor_mixgo_pin_near:()=>KC,sensor_mixgo_pin_near_double:()=>WC,sensor_mixgo_pin_near_single:()=>HC,sensor_mixgo_pin_pressed:()=>DC,sensor_mixgo_sant_color:()=>zC,sensor_mixgo_touch_slide:()=>PC,sensor_mixgocar42_button_attachInterrupt:()=>NC,sensor_mixgocar42_button_get_presses:()=>LC,sensor_mixgocar42_button_is_pressed:()=>SC,sensor_mixgocar42_button_was_pressed:()=>AC,sensor_mixgocar_battery_left:()=>VS,sensor_mixgocar_pin_near:()=>xS,sensor_mixgocar_pin_near_line:()=>yS,sensor_mixgocar_pin_near_state_change:()=>bS,sensor_mixgoce_pin_pressed:()=>fC,sensor_mixgoce_temperature:()=>fS,sensor_mixgome_temperature:()=>DS,sensor_mpython_pin_pressed:()=>FC,sensor_mpython_qmi8658_get_gyro:()=>FS,sensor_mpython_qmi8658_temperature:()=>PS,sensor_onboard_compass_reset:()=>SS,sensor_onboard_mpu9250_calibrate_compass:()=>cS,sensor_onboard_mpu9250_field_strength:()=>CS,sensor_onboard_mpu9250_gesture:()=>mS,sensor_onboard_mpu9250_get_acceleration:()=>ES,sensor_onboard_mpu9250_get_gyro:()=>RS,sensor_onboard_mpu9250_get_magnetic:()=>OS,sensor_onboard_mpu9250_temperature:()=>gS,sensor_pin_near:()=>qS,sensor_pin_pressed:()=>QS,sensor_read:()=>eA,sensor_rm_acc:()=>XS,sensor_rm_battery_left:()=>vS,sensor_rm_pin_near_double:()=>YS,sensor_rtc_init:()=>iS,sensor_sound:()=>oS,sensor_temperature:()=>ZS,simulated_light_sensor:()=>lA});var H={};t.r(H),t.d(H,{serial_any:()=>gA,serial_begin:()=>NA,serial_print:()=>mA,serial_print_byte:()=>hA,serial_print_hex:()=>OA,serial_println:()=>EA,serial_read_from_ai:()=>xA,serial_readline:()=>CA,serial_readstr:()=>cA,serial_readstr_until:()=>SA,serial_receive_data_event:()=>RA,serial_send_to_ai:()=>yA,serial_softserial:()=>LA,serial_softserial_new:()=>AA,system_input:()=>DA,system_print:()=>fA,system_print_container:()=>vA,system_print_end:()=>PA,system_print_inline:()=>FA,system_print_item:()=>XA,system_print_many:()=>YA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>GA,Timer_init:()=>tL,base_delay:()=>nL,controls_delay:()=>BA,controls_delay_new:()=>VA,controls_millis:()=>wA,controls_uname:()=>HA,raw_block:()=>kA,reset:()=>UA,set_system_timer:()=>qA,system_bitbot_shutdown:()=>ZA,system_machine_reset:()=>$A,system_ticks_diff:()=>JA,system_timer:()=>KA,system_timer_init:()=>QA,system_wdt_feed:()=>jA,system_wdt_init:()=>zA,time_ticks_diff:()=>iL,timer:()=>WA,timer2:()=>eL});var K={};t.r(K),t.d(K,{Air_daily_content:()=>mL,Air_now_content:()=>rL,Geo_moon_content:()=>OL,Geo_sun_content:()=>EL,Life_suggestion_content:()=>lL,Location_search_content:()=>TL,Tide_daily_content:()=>IL,WEATHER_DAILY:()=>oL,WEATHER_HOUR:()=>pL,WEATHER_NOW:()=>_L,Weather_alarm_content:()=>dL,Weather_daily:()=>ML,Weather_daily_content:()=>hL,Weather_now:()=>aL,Weather_now_content:()=>uL});var J={};t.r(J),t.d(J,{PIN_init:()=>cN,actuator_extern_get_led_bright:()=>UL,actuator_extern_get_led_state:()=>wL,actuator_extern_led_bright:()=>GL,actuator_extern_led_brightness:()=>kL,actuator_ms32006_dcmotor:()=>NL,actuator_ms32006_init:()=>LL,actuator_ms32006_stepper:()=>DL,actuator_neopixel_init:()=>HL,actuator_neopixel_rgb:()=>JL,actuator_neopixel_rgb_all:()=>WL,actuator_neopixel_rgb_show_all_chase:()=>QL,actuator_neopixel_rgb_show_all_rainbow:()=>qL,actuator_neopixel_write:()=>KL,actuator_use_uart_init:()=>zL,backstage_esp32_music_play_list:()=>bL,esp32_music_get_tempo_extern:()=>yL,esp32_music_pitch:()=>FL,esp32_music_pitch_init:()=>fL,esp32_music_pitch_with_time:()=>PL,esp32_music_play_list:()=>xL,esp32_music_reset_extern:()=>VL,esp32_music_set_tempo_extern:()=>XL,esp32_music_stop:()=>YL,esp32_set_music_volume:()=>vL,mixbot_actuator_extern_get_addr:()=>ON,mixbot_actuator_extern_set_addr:()=>RN,mixbot_addr_extern:()=>oN,parrot_PIN_init:()=>AN,parrot_move_speed:()=>LN,pin_led_bright:()=>gN,player_play_music:()=>eN,player_set_mode:()=>tN,player_set_play:()=>$L,player_set_volume:()=>ZL,player_whether_stop:()=>jL,robot_led_extern:()=>rN,robot_led_extern_get_value:()=>dN,robot_motor_extern:()=>pN,robot_motor_extern_get_speed:()=>aN,robot_servo_extern_absolute_run:()=>MN,robot_servo_extern_get_status:()=>lN,robot_servo_extern_relative_continue:()=>EN,robot_servo_extern_relative_origin:()=>hN,robot_servo_extern_relative_run:()=>mN,robot_servo_extern_stop:()=>TN,robot_servo_extern_stop_mode:()=>IN,robot_traffic_light_extern:()=>uN,servo_PIN_init:()=>CN,servo_get_angle:()=>SL,servo_get_speed:()=>AL,servo_init:()=>RL,servo_move:()=>BL,servo_move_angle:()=>SN,servo_set_angle:()=>gL,servo_set_speed:()=>CL,servo_speed_360:()=>cL,syn6288_builtin_voice:()=>sN,syn6288_get_voice:()=>nN,syn6288_set_voice:()=>iN,syn6288_tts_play:()=>_N});var Q={};t.r(Q),t.d(Q,{actuator_dc_motor:()=>eD,actuator_dc_motor_stop:()=>iD,actuator_get_led_bright:()=>VN,actuator_get_led_state:()=>BN,actuator_led_bright:()=>bN,actuator_led_brightness:()=>GN,actuator_mixbot_buzzer_on_off:()=>pD,actuator_mixgo_nova_mic_get:()=>lD,actuator_mixgo_nova_mic_set:()=>dD,actuator_mixgo_nova_onboard_music_pitch:()=>ED,actuator_mixgo_nova_onboard_music_stop:()=>OD,actuator_mixgo_nova_play_audio:()=>hD,actuator_mixgo_nova_play_online_audio:()=>mD,actuator_mixgo_nova_record_audio:()=>MD,actuator_mixgo_nova_voice_get:()=>TD,actuator_mixgo_nova_voice_set:()=>ID,actuator_mixgo_zero_led_color:()=>UN,actuator_onboard_neopixel_rgb:()=>QN,actuator_onboard_neopixel_rgb_all:()=>qN,actuator_onboard_neopixel_rgb_show_all_chase:()=>zN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>jN,actuator_onboard_neopixel_write:()=>JN,actuator_stepper_keep:()=>ZN,actuator_stepper_stop:()=>tD,analog_ble_keyboard_init:()=>PD,analog_ble_keyboard_input:()=>XD,analog_ble_keyboard_mouse_init:()=>wD,analog_ble_keyboard_mouse_input:()=>KD,analog_ble_keyboard_mouse_send_battery:()=>WD,analog_ble_keyboard_mouse_str:()=>JD,analog_ble_keyboard_send_battery:()=>xD,analog_ble_keyboard_str:()=>yD,analog_ble_mouse_init:()=>bD,analog_ble_mouse_input:()=>GD,analog_ble_mouse_keyboard_input:()=>QD,analog_ble_mouse_send_battery:()=>UD,analog_keyboard_input:()=>SD,analog_keyboard_str:()=>fD,analog_mouse_input:()=>ND,backstage_onboard_music_play_list:()=>vN,bitbot_motor:()=>rD,bitbot_move:()=>aD,bitbot_stop:()=>uD,ble_keyboard_connect:()=>vD,ble_keyboard_get_mac:()=>YD,ble_keyboard_mouse_connect:()=>HD,ble_keyboard_mouse_get_mac:()=>kD,ble_mouse_connect:()=>BD,ble_mouse_get_mac:()=>VD,cc_number:()=>wN,educore_ble_keyboard_input:()=>_f,educore_ble_sensor_connected:()=>sf,educore_ble_sensor_init:()=>nf,educore_buzzer:()=>qD,educore_buzzer_play_tone:()=>zD,educore_buzzer_play_tone_time:()=>jD,educore_buzzer_stop:()=>$D,educore_neopixel_clear:()=>ef,educore_neopixel_rgb:()=>tf,educore_rgb_light:()=>ZD,esp32_music_get_tempo:()=>DN,esp32_music_reset:()=>XN,esp32_music_set_tempo:()=>NN,esp32_onboard_music_pitch:()=>fN,esp32_onboard_music_pitch_with_time:()=>FN,esp32_onboard_music_play_list:()=>YN,esp32_onboard_music_stop:()=>PN,general_key:()=>LD,general_key_tuple:()=>FD,get_keyboard_light:()=>of,get_power_output:()=>cD,ledswitch:()=>xN,mixbot_motor:()=>oD,mixbot_motor_status:()=>nD,mixbot_move:()=>sD,mixbot_stop:()=>_D,mouse_key:()=>DD,number:()=>yN,record_audio:()=>af,rm_actuator_get_led_bright:()=>HN,rm_actuator_get_led_state:()=>WN,rm_actuator_led_bright:()=>kN,rm_actuator_led_brightness:()=>KN,rm_motor:()=>$N,set_all_power_output:()=>gD,set_microphone_amplification:()=>pf,set_music_volume:()=>uf,set_part_power_output:()=>CD,set_power_output:()=>RD,special_key:()=>AD});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>wf,ai_sensor_ailocal_class:()=>Pf,ai_sensor_ailocal_class_result:()=>Yf,ai_sensor_ailocal_train:()=>Ff,ai_sensor_asr_recognize:()=>bf,ai_sensor_audio_play:()=>Xf,ai_sensor_audio_record:()=>vf,ai_sensor_barcode:()=>hf,ai_sensor_circle:()=>gf,ai_sensor_classifier_faces:()=>Uf,ai_sensor_color:()=>Lf,ai_sensor_color_chases:()=>ff,ai_sensor_color_chases_result:()=>Df,ai_sensor_config:()=>lf,ai_sensor_face:()=>Gf,ai_sensor_find_20objects:()=>kf,ai_sensor_find_barcodes:()=>mf,ai_sensor_find_circles:()=>Cf,ai_sensor_find_colors:()=>Nf,ai_sensor_find_licenseplates:()=>Bf,ai_sensor_find_lines:()=>cf,ai_sensor_find_qrcodes:()=>Mf,ai_sensor_find_rects:()=>Af,ai_sensor_find_tags:()=>Of,ai_sensor_licenseplate:()=>Vf,ai_sensor_line:()=>Rf,ai_sensor_qrcode:()=>Tf,ai_sensor_qrcode_lite:()=>df,ai_sensor_rect:()=>Sf,ai_sensor_rgb:()=>If,ai_sensor_tag:()=>Ef,ai_sensor_use_uart_init:()=>rf,ai_sensor_yolo_recognize:()=>yf,ai_sensor_yolo_recognize_result:()=>xf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>Kf,MICROPYTHON_AI_Speech_unit:()=>Wf,MICROPYTHON_AI_client:()=>Hf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>sF,mpython_blynk_app_notify:()=>Zf,mpython_blynk_email:()=>_F,mpython_blynk_get_timers:()=>eF,mpython_blynk_on_connected:()=>zf,mpython_blynk_on_disconnected:()=>qf,mpython_blynk_run:()=>$f,mpython_blynk_sensor_data_to_app:()=>nF,mpython_blynk_set_property:()=>oF,mpython_blynk_setup:()=>pF,mpython_blynk_stop_timers:()=>tF,mpython_blynk_sync_virtual:()=>Qf,mpython_blynk_terminal_widget_vpin:()=>Jf,mpython_blynktimer:()=>iF,mpython_blynktimer_run:()=>jf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>aF,cc_g1_read_joystick:()=>uF,cc_g1_read_key:()=>rF,cc_g1_turnoff:()=>dF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>OF,ce_go_get_led_bright:()=>TF,ce_go_get_led_state:()=>MF,ce_go_hall_attachInterrupt:()=>RF,ce_go_hall_data:()=>gF,ce_go_hall_initialize:()=>cF,ce_go_led_bright:()=>IF,ce_go_led_brightness:()=>hF,ce_go_light_number:()=>lF,ce_go_pin_light:()=>NF,ce_go_pin_near:()=>SF,ce_go_pin_near_line:()=>CF,ce_go_pin_near_state_change:()=>AF,ce_go_stepper_keep:()=>mF,ce_go_stepper_stop:()=>EF,educore_car:()=>DF,educore_car_pin_near:()=>YF,educore_car_pin_near_line:()=>PF,educore_car_stepper_keep:()=>fF,educore_car_stepper_stop:()=>FF,sensor_mixgome_eulerangles:()=>LF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>IP,communicate_bluetooth_connect:()=>hP,communicate_bluetooth_disconnect:()=>mP,communicate_bluetooth_handle:()=>CP,communicate_bluetooth_is_connected:()=>OP,communicate_bluetooth_mac:()=>EP,communicate_bluetooth_peripheral_init:()=>TP,communicate_bluetooth_recv:()=>gP,communicate_bluetooth_recv_only:()=>cP,communicate_bluetooth_scan:()=>MP,communicate_bluetooth_send:()=>RP,communicate_espnow_init:()=>SP,communicate_espnow_init_new:()=>AP,communicate_i2c_available:()=>GF,communicate_i2c_init:()=>yF,communicate_i2c_master_read:()=>BF,communicate_i2c_onboard:()=>vF,communicate_i2c_read:()=>xF,communicate_i2c_scan:()=>VF,communicate_i2c_write:()=>bF,communicate_ir_recv_init:()=>nP,communicate_ir_send_init:()=>aP,communicate_ow_init:()=>jF,communicate_ow_read:()=>tP,communicate_ow_reset:()=>ZF,communicate_ow_scan:()=>$F,communicate_ow_select:()=>iP,communicate_ow_write:()=>eP,communicate_spi_buffer:()=>HF,communicate_spi_init:()=>wF,communicate_spi_onboard:()=>XF,communicate_spi_read:()=>WF,communicate_spi_read_output:()=>KF,communicate_spi_readinto:()=>JF,communicate_spi_readinto_output:()=>QF,communicate_spi_set:()=>kF,communicate_spi_write:()=>qF,communicate_spi_write_readinto:()=>zF,espnow_radio_channel:()=>PP,espnow_radio_channel_new:()=>vP,espnow_radio_on_off:()=>XP,espnow_radio_rec:()=>xP,espnow_radio_recv:()=>VP,espnow_radio_recv_certain_msg:()=>BP,espnow_radio_recv_certain_msg_new:()=>UP,espnow_radio_recv_msg:()=>bP,espnow_radio_recv_new:()=>GP,espnow_radio_send:()=>yP,espnow_radio_txpower:()=>YP,i2c_slave_onreceive:()=>UF,internal_variable:()=>sP,ir_recv_timeout:()=>pP,ir_transmit_busy:()=>lP,ir_transmit_conventional_data:()=>uP,ir_transmit_raw_code:()=>dP,ir_transmit_study_code:()=>rP,ir_whether_recv:()=>oP,lora_init:()=>wP,lora_packet:()=>kP,lora_recv:()=>WP,lora_send:()=>HP,network_espnow_info:()=>NP,network_espnow_mac:()=>LP,network_espnow_recv:()=>DP,network_espnow_recv_handle:()=>FP,network_espnow_send:()=>fP,recv_fun:()=>_P,urequests_attribute:()=>JP,urequests_get:()=>KP,urequests_method:()=>QP});var et={};t.r(et),t.d(et,{display_animate:()=>OY,display_circle:()=>RY,display_color_seclet:()=>PY,display_draw_4strings:()=>lY,display_fill:()=>EY,display_lcd_use_i2c_init:()=>bY,display_line:()=>MY,display_line_arbitrarily:()=>IY,display_matrix_extern_bright_point:()=>_Y,display_matrix_extern_bright_screen:()=>pY,display_matrix_extern_clear:()=>iY,display_matrix_extern_get_pixel:()=>sY,display_matrix_extern_get_screen_pixel:()=>oY,display_matrix_extern_image_builtins:()=>aY,display_matrix_extern_scroll_string:()=>tY,display_matrix_extern_scroll_string_delay:()=>eY,display_matrix_extern_shift:()=>nY,display_matrix_extern_show_frame_string:()=>$P,display_matrix_extern_show_frame_string_delay:()=>ZP,display_matrix_extern_show_image:()=>zP,display_matrix_extern_show_image_or_string_delay:()=>jP,display_matrix_use_i2c_init:()=>qP,display_oled_drawPixel:()=>CY,display_oled_showBitmap:()=>gY,display_oled_use_i2c_init:()=>wY,display_onoff:()=>hY,display_rect:()=>TY,display_tm1650_power:()=>AY,display_tm1650_set_brightness:()=>DY,display_tm1650_show_dot:()=>NY,display_tm1650_show_num:()=>LY,display_tm_use_i2c_init:()=>SY,display_triangle:()=>cY,display_use_i2c_init:()=>dY,extern_oled_bright_point:()=>tv,extern_oled_clear:()=>jY,extern_oled_get_pixel:()=>ZY,extern_oled_hvline:()=>iv,extern_oled_line:()=>nv,extern_oled_scroll_string:()=>qY,extern_oled_scroll_string_delay:()=>zY,extern_oled_shape_rect:()=>ev,extern_oled_shift:()=>$Y,extern_oled_show_frame_string:()=>JY,extern_oled_show_frame_string_delay:()=>QY,extern_oled_show_image:()=>kY,extern_oled_show_image_or_string_delay:()=>KY,extern_oled_show_image_xy:()=>HY,extern_oled_show_string:()=>WY,image_shift:()=>mY,lcd_backlight:()=>GY,lcd_clear:()=>UY,lcd_print_string:()=>BY,lcd_show_image_or_string_delay:()=>VY,matrix_extern_image_arithmetic:()=>uY,matrix_extern_image_invert:()=>rY,tft_fill:()=>yY,tft_line_arbitrarily:()=>xY,tft_scroll_string_delay:()=>XY,tft_show_frame_string_delay:()=>vY,tft_show_image_or_string_delay:()=>YY,tft_show_image_xy:()=>FY,tft_use_spi_init:()=>fY});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>zv,bitbot_display_image_create:()=>qv,display_available:()=>mv,display_bitmap_create:()=>Mv,display_bright_point:()=>gv,display_bright_screen:()=>Sv,display_clear:()=>hv,display_get_pixel:()=>cv,display_get_screen_pixel:()=>Cv,display_image_builtins:()=>lv,display_image_builtins_all:()=>Iv,display_image_create:()=>Tv,display_scroll_string:()=>av,display_scroll_string_delay:()=>uv,display_scroll_way:()=>rv,display_shift:()=>Rv,display_show_frame_string:()=>ov,display_show_frame_string_delay:()=>pv,display_show_image:()=>sv,display_show_image_or_string_delay:()=>_v,draw_pointer:()=>IX,image_arithmetic:()=>Ev,image_invert:()=>Ov,mixbot_display_bitmap_create:()=>Hv,mixbot_display_bright_screen:()=>Jv,mixbot_display_get_ambientbright:()=>Kv,mixbot_display_get_screen_pixel:()=>Wv,mixbot_display_image_create:()=>kv,mixbot_display_rotate:()=>Qv,mixgo_display_bitmap_create:()=>Pv,mixgo_display_image_create_new:()=>Fv,mixgome_display_bitmap_create:()=>Lv,mixgome_display_font:()=>fv,mixgome_display_image_create:()=>Av,mixgomini_display_bitmap_create:()=>Dv,mixgomini_display_image_create:()=>Nv,mpython_display_hvline:()=>Uv,mpython_display_line:()=>wv,mpython_display_shape_rect:()=>Gv,mpython_pbm_image:()=>Yv,nova_draw_pointer:()=>TX,onboard_oled_bright_point:()=>Bv,onboard_oled_scroll_string_delay:()=>Vv,onboard_oled_show_frame_string_delay:()=>bv,onboard_oled_show_image:()=>vv,onboard_oled_show_image_or_string_delay:()=>xv,onboard_oled_show_image_xy:()=>Xv,onboard_oled_show_string:()=>yv,onboard_tft_bright_point:()=>_X,onboard_tft_bright_screen:()=>gX,onboard_tft_clear:()=>CX,onboard_tft_clock_clear:()=>dX,onboard_tft_clock_draw:()=>rX,onboard_tft_clock_get_rtctime:()=>aX,onboard_tft_clock_init:()=>pX,onboard_tft_clock_set_time:()=>uX,onboard_tft_display_hvline:()=>iX,onboard_tft_display_line:()=>nX,onboard_tft_display_shape_circle:()=>lX,onboard_tft_display_shape_rect:()=>eX,onboard_tft_fill:()=>oX,onboard_tft_get_pixel:()=>sX,onboard_tft_get_screen_pixel:()=>cX,onboard_tft_scroll_string_delay:()=>dv,onboard_tft_shift:()=>RX,onboard_tft_show_frame_string:()=>OX,onboard_tft_show_frame_string_delay:()=>tX,onboard_tft_show_image:()=>EX,onboard_tft_show_image_or_string_delay:()=>Zv,onboard_tft_show_image_xy:()=>jv,onboard_tft_show_image_xy_direct:()=>$v,onboard_tft_show_qrcode:()=>hX,onboard_tft_show_qrcode_details:()=>mX,onboard_tft_show_texts:()=>MX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>PX,factory_block_return:()=>YX,factory_block_return_with_textarea:()=>XX,factory_block_with_textarea:()=>vX,factory_callMethod_noreturn:()=>fX,factory_callMethod_return:()=>FX,factory_declare:()=>DX,factory_from_import:()=>SX,factory_function_noreturn:()=>LX,factory_function_return:()=>NX,factory_import:()=>AX,folding_block:()=>yX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>zX,inout_analog_read:()=>kX,inout_analog_read_init:()=>qX,inout_analog_write:()=>GX,inout_analog_write_init:()=>QX,inout_analog_write_set:()=>UX,inout_digital_init:()=>KX,inout_digital_read:()=>VX,inout_digital_write:()=>bX,inout_highlow:()=>xX,inout_pin_attachInterrupt:()=>WX,inout_pin_pressed:()=>HX,inout_pin_pressed_init:()=>jX,inout_pwm_analog_write:()=>BX,inout_pwm_analog_write_init:()=>JX,inout_pwm_analog_write_set_freq:()=>wX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>Ly,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>my,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>My,IOT_EMQX_PING:()=>Ey,IOT_FORMATTING:()=>Iy,IOT_FORMAT_STRING:()=>Ty,IOT_MIXIO_NTP:()=>Oy,IOT_MIXIO_PUBLISH:()=>_y,IOT_MIXIO_PUBLISHEX:()=>oy,IOT_MIXIO_SUBSCRIBE:()=>py,iot_client_onboard:()=>Ry,iot_connect_ollama:()=>Ay,iot_connect_openai:()=>Ny,iot_http_client:()=>cy,iot_http_data:()=>gy,iot_mixio_check:()=>ry,iot_mixio_connect:()=>sy,iot_mixio_connect_only:()=>uy,iot_mixio_disconnect:()=>ay,iot_mixio_format_msg:()=>ly,iot_mixio_format_topic:()=>dy,iot_mixly_key:()=>hy,iot_mqtt_client:()=>Cy,iot_mqtt_data:()=>Sy,iot_onenet_check:()=>iy,iot_onenet_connect:()=>ZX,iot_onenet_disconnect:()=>ty,iot_onenet_publish:()=>ny,iot_onenet_publish_dict:()=>ey,iot_tiny_web_db_count:()=>yy,iot_tiny_web_db_delete:()=>by,iot_tiny_web_db_get:()=>Xy,iot_tiny_web_db_init:()=>Py,iot_tiny_web_db_init_with_mqtt:()=>Yy,iot_tiny_web_db_search:()=>xy,iot_tiny_web_db_update:()=>vy,iot_wifi_connect:()=>$X,ollama_empty_history:()=>Fy,use_ollama_llm_to_chat:()=>Dy,use_ollama_llm_to_chat_return:()=>fy});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>Mx,educore_mqtt_connect_success:()=>Ox,educore_mqtt_subscribe_message:()=>hx,educore_mqtt_topic_publish:()=>Ex,educore_mqtt_topic_subscribe:()=>mx,educore_wifi_connect:()=>Tx,network_ap_connect:()=>Ky,network_connect:()=>By,network_get_connect:()=>Uy,network_get_wifi:()=>Wy,network_init:()=>Vy,network_is_active:()=>Hy,network_open:()=>ky,network_scan:()=>Jy,network_server:()=>Qy,network_socket_accept:()=>Zy,network_socket_bind:()=>zy,network_socket_close:()=>_x,network_socket_connect:()=>jy,network_socket_init:()=>qy,network_socket_listen:()=>$y,network_socket_readline:()=>tx,network_socket_receive:()=>ex,network_socket_receive_from:()=>nx,network_socket_send:()=>ix,network_socket_send_to:()=>sx,network_stop:()=>wy,network_wifi_connect:()=>Gy,ntptime_address:()=>rx,ntptime_time:()=>ux,requests_attribute:()=>px,requests_attribute2:()=>lx,requests_get:()=>ox,requests_get2:()=>dx,requests_method:()=>ax,requests_post:()=>Ix});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>cx,pe_g1_dc_motor:()=>gx,pe_g1_dc_motor_speed:()=>Cx,pe_g1_servo_get_angle:()=>Lx,pe_g1_servo_get_speed:()=>Nx,pe_g1_servo_set_angle:()=>Sx,pe_g1_servo_set_speed:()=>Ax,pe_g1_use_i2c_init:()=>Rx});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>zx,CI130X_GET_THE_RECOGNIZED_CMD:()=>qx,CI130X_GET_WHETHER_IDENTIFY:()=>Qx,CI130X_IDENTIFY_AND_SAVE:()=>Jx,CI130X_SET_SYSTEM_CMD:()=>jx,HCSR04:()=>fb,PS2_Button:()=>Yb,PS2_Buttons:()=>vb,PS2_Buttons_new:()=>Ub,PS2_State:()=>Xb,PS2_init:()=>Fb,PS2_init_new:()=>Bb,PS2_stk:()=>yb,PS2_stk_new:()=>wb,PS2_vibration:()=>Pb,PS2_vibration_new:()=>Gb,RTC_get_time:()=>bb,RTC_set_date:()=>yx,RTC_set_datetime:()=>xb,RTC_set_time:()=>Xx,camera_sensor_init:()=>OV,camera_sensor_result:()=>RV,column_tube_foot:()=>SV,define_keyboards:()=>AV,educore_body_sensor:()=>uV,educore_button_sensor_extern:()=>IV,educore_camera_sensor:()=>EV,educore_infrared_sensor:()=>lV,educore_soilhum_sensor:()=>rV,educore_temp_sensor:()=>mV,educore_temphum_sensor:()=>dV,educore_ultrasonic_sensor:()=>MV,esp32_s2_weather_init:()=>Ab,esp32_s2_weather_rain:()=>Nb,esp32_s2_weather_wd:()=>Lb,esp32_s2_weather_ws:()=>Db,extern_rfid_read:()=>Ib,extern_rfid_readcontent:()=>Mb,extern_rfid_readid:()=>Tb,extern_rfid_status:()=>Eb,extern_rfid_write:()=>hb,extern_rfid_write_return:()=>mb,get_keboards_value:()=>NV,gnss_get_data:()=>Wb,gnss_have_data:()=>Kb,init_init_rotary_encoder:()=>DV,init_matrix_keyboard:()=>LV,interaction_whether_to_interaction:()=>Wx,interaction_whether_to_interaction_SANT:()=>Kx,line_tube_foot:()=>CV,mixbot_sensor_extern_get_addr:()=>iV,mixbot_sensor_extern_set_addr:()=>nV,pm25_get_data:()=>Hb,radar_set_DETECTION_THRESHOLD:()=>kx,radar_set_DETECTION_THRESHOLD_SANT:()=>Hx,robot_button_extern_get_value:()=>Qb,robot_color_extern_get_value:()=>Zb,robot_infrared_extern_get_value:()=>zb,robot_infrared_extern_grey_get_value:()=>jb,robot_potentiometer_extern_get_value:()=>$b,robot_sonar_extern_get_value:()=>tV,robot_sonar_extern_led:()=>eV,robot_touch_extern_get_value:()=>qb,rotary_key:()=>fV,sensor_APDS9960_extern:()=>Zx,sensor_DS18X20:()=>aV,sensor_LTR308_extern:()=>tb,sensor_LTR390UV_extern:()=>pb,sensor_MAX30102_extern:()=>$x,sensor_QMC5883L_extern:()=>ab,sensor_VL530LX_extern:()=>db,sensor_aht11_extern:()=>rb,sensor_bmp:()=>Gx,sensor_dht11:()=>Vb,sensor_distance_hrsc04:()=>vx,sensor_hp203_extern:()=>eb,sensor_ltr381_extern:()=>_b,sensor_mixgo_extern_button_attachInterrupt:()=>Px,sensor_mixgo_extern_button_get_presses:()=>Fx,sensor_mixgo_extern_button_is_pressed:()=>Dx,sensor_mixgo_extern_button_was_pressed:()=>fx,sensor_mixgo_extern_light:()=>xx,sensor_mixgo_extern_pin_near:()=>Vx,sensor_mixgo_extern_sound:()=>bx,sensor_mixgoce_hot_wheel_degrees:()=>Sb,sensor_mixgoce_hot_wheel_is_touched:()=>Cb,sensor_mpu9250_attachGestureInterrupt:()=>Yx,sensor_ms5611_extern:()=>nb,sensor_ms5611_extern_altitude:()=>sb,sensor_read_humiture:()=>TV,sensor_rtc_init:()=>Bx,sensor_sht:()=>Ux,sensor_shtc3_extern:()=>ub,sensor_spl06_001_extern:()=>ib,sensor_ucs12071_extern:()=>ob,sensor_use_i2c_init:()=>wx,sensor_use_spi_init:()=>lb,sensor_use_uart_init:()=>kb,sensor_weather_solo_init:()=>sV,sensor_weather_solo_rain:()=>pV,sensor_weather_solo_wd:()=>_V,sensor_weather_solo_ws:()=>oV,sensor_weigh_init:()=>cV,tvoc_get_data:()=>Jb,ultrasonic_sensor_read_distance:()=>hV,weather_data:()=>Ob,weather_have_data:()=>Rb,weather_set_label:()=>gb,weather_uart_mixio:()=>cb,weigh_sensor_get_weight:()=>gV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>VV,bitbot_als_num:()=>oG,dht11:()=>TG,educore_button_sensor:()=>cG,educore_button_was_pressed:()=>gG,educore_gyroscope_sensor:()=>EG,educore_gyroscope_sensor_read:()=>OG,educore_gyroscope_sensor_shake:()=>RG,educore_light_sensor:()=>mG,educore_rfid_sensor:()=>CG,educore_rfid_sensor_scan:()=>SG,educore_rfid_sensor_scan_data:()=>AG,educore_voice_sensor:()=>MG,number1:()=>BV,number2:()=>GV,number3:()=>UV,number4:()=>wV,number5:()=>kV,number6:()=>HV,number7:()=>WV,onboard_RTC_get_time:()=>xB,onboard_RTC_get_time_str:()=>BB,onboard_RTC_get_timestamp:()=>bB,onboard_RTC_get_timetuple_to_str:()=>GB,onboard_RTC_set_datetime:()=>XB,onboard_RTC_settime_string:()=>yB,onboard_RTC_timestamp_totuple:()=>VB,rfid_readcontent:()=>pB,rfid_readid:()=>oB,rfid_status:()=>rB,rfid_write:()=>aB,rfid_write_return:()=>uB,sensor_LTR308:()=>eB,sensor_adxl345_get_acceleration:()=>OB,sensor_aht11:()=>sB,sensor_bitbot_ALS:()=>_G,sensor_button_get_presses:()=>uG,sensor_button_is_pressed:()=>pG,sensor_button_was_pressed:()=>aG,sensor_compass_reset:()=>AB,sensor_ds18x20:()=>ZV,sensor_eulerangles:()=>lB,sensor_get_acceleration:()=>dB,sensor_get_temperature:()=>_B,sensor_get_the_coprocessor_version:()=>LG,sensor_hp203:()=>nB,sensor_light:()=>IG,sensor_lm35:()=>tB,sensor_mixbot_get_gyro:()=>sG,sensor_mixbot_patrol_calibrate:()=>eG,sensor_mixbot_patrol_value:()=>iG,sensor_mixbot_temperature:()=>nG,sensor_mixgo_LTR308:()=>zV,sensor_mixgo_button_attachInterrupt:()=>vV,sensor_mixgo_button_get_presses:()=>YV,sensor_mixgo_button_is_pressed:()=>FV,sensor_mixgo_button_was_pressed:()=>PV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>kB,sensor_mixgo_cc_mmc5603_get_angle:()=>wB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>UB,sensor_mixgo_light:()=>lG,sensor_mixgo_nova_LTR308:()=>$V,sensor_mixgo_nova_pin_near:()=>qV,sensor_mixgo_pin_near:()=>QV,sensor_mixgo_pin_near_double:()=>JV,sensor_mixgo_pin_near_single:()=>KV,sensor_mixgo_pin_pressed:()=>mB,sensor_mixgo_sant_color:()=>jV,sensor_mixgo_touch_slide:()=>hB,sensor_mixgocar42_button_attachInterrupt:()=>bV,sensor_mixgocar42_button_get_presses:()=>xV,sensor_mixgocar42_button_is_pressed:()=>XV,sensor_mixgocar42_button_was_pressed:()=>yV,sensor_mixgocar_battery_left:()=>tG,sensor_mixgocar_pin_near:()=>$B,sensor_mixgocar_pin_near_line:()=>jB,sensor_mixgocar_pin_near_state_change:()=>ZB,sensor_mixgoce_pin_pressed:()=>MB,sensor_mixgoce_temperature:()=>WB,sensor_mixgome_temperature:()=>HB,sensor_mpu9250_calibrate_compass:()=>gB,sensor_mpu9250_field_strength:()=>SB,sensor_mpu9250_gesture:()=>IB,sensor_mpu9250_get_acceleration:()=>TB,sensor_mpu9250_get_gyro:()=>cB,sensor_mpu9250_get_magnetic:()=>RB,sensor_mpu9250_temperature:()=>CB,sensor_mpython_pin_pressed:()=>EB,sensor_mpython_qmi8658_get_gyro:()=>KB,sensor_mpython_qmi8658_temperature:()=>JB,sensor_onboard_compass_reset:()=>vB,sensor_onboard_mpu9250_calibrate_compass:()=>FB,sensor_onboard_mpu9250_field_strength:()=>YB,sensor_onboard_mpu9250_gesture:()=>LB,sensor_onboard_mpu9250_get_acceleration:()=>NB,sensor_onboard_mpu9250_get_gyro:()=>fB,sensor_onboard_mpu9250_get_magnetic:()=>DB,sensor_onboard_mpu9250_temperature:()=>PB,sensor_pin_near:()=>dG,sensor_pin_pressed:()=>rG,sensor_read:()=>hG,sensor_rm_acc:()=>zB,sensor_rm_battery_left:()=>qB,sensor_rm_pin_near_double:()=>QB,sensor_sound:()=>iB,simulated_light_sensor:()=>NG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>YG,serial_print:()=>DG,serial_print_byte:()=>fG,serial_print_hex:()=>PG,serial_println:()=>FG,serial_read_from_ai:()=>kG,serial_readline:()=>XG,serial_readstr:()=>vG,serial_send_to_ai:()=>wG,serial_softserial:()=>yG,serial_softserial_new:()=>xG,system_input:()=>bG,system_print:()=>VG,system_print_end:()=>GG,system_print_inline:()=>BG,system_print_many:()=>UG});var dt={};t.r(dt),t.d(dt,{Panic_with_status_code:()=>eU,Timer_init:()=>mU,base_delay:()=>RU,controls_delay:()=>oU,controls_delay_new:()=>pU,controls_end_program:()=>nU,controls_millis:()=>iU,controls_uname:()=>_U,reset:()=>sU,set_system_timer:()=>uU,system_bitbot_shutdown:()=>hU,system_device_name:()=>ZG,system_device_serial_number:()=>tU,system_event_bus_source:()=>jG,system_event_bus_value:()=>$G,system_machine_reset:()=>MU,system_on_event:()=>QG,system_raise_event:()=>JG,system_reset:()=>WG,system_run_in_background:()=>HG,system_ticks_diff:()=>rU,system_timer:()=>lU,system_timer_init:()=>dU,system_timestamp:()=>qG,system_value:()=>zG,system_wait:()=>KG,system_wdt_feed:()=>TU,system_wdt_init:()=>IU,time_ticks_diff:()=>OU,timer:()=>aU,timer2:()=>EU});var lt={};t.r(lt),t.d(lt,{Air_daily_content:()=>vU,Air_now_content:()=>LU,Geo_moon_content:()=>yU,Geo_sun_content:()=>XU,Life_suggestion_content:()=>DU,Location_search_content:()=>FU,Tide_daily_content:()=>fU,WEATHER_DAILY:()=>gU,WEATHER_HOUR:()=>CU,WEATHER_NOW:()=>cU,Weather_alarm_content:()=>NU,Weather_daily:()=>PU,Weather_daily_content:()=>YU,Weather_now:()=>SU,Weather_now_content:()=>AU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>GU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>wU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>aw,inout_analog_atten:()=>$U,inout_analog_write:()=>zU,inout_analog_write_init:()=>iw,inout_analog_write_set:()=>jU,inout_analog_write_set_freq:()=>sw,inout_digital_init:()=>ew,inout_digital_read:()=>qU,inout_digital_write:()=>QU,inout_highlow:()=>JU,inout_pinMode:()=>_w,inout_pin_attachInterrupt:()=>tw,inout_pin_pressed:()=>ZU,inout_pin_pressed_init:()=>nw,pin_pressed:()=>pw,pin_pressed_init:()=>ow});var mt={};t.r(mt),t.d(mt,{me_g1_aht11:()=>rw,me_g1_hp203:()=>dw,me_g1_rfid_readcontent:()=>Tw,me_g1_rfid_readid:()=>Iw,me_g1_rfid_status:()=>mw,me_g1_rfid_write:()=>Mw,me_g1_rfid_write_outcome:()=>hw,me_g1_varistor:()=>lw});var Et={};t.r(Et),t.d(Et,{analog_input:()=>Lw,analog_output:()=>Dw,espnow_channel:()=>Cw,haskylens_model:()=>Sw,i2c_A_pin:()=>fw,i2c_B_pin:()=>Fw,pins_analog:()=>yw,pins_analog_pin:()=>xw,pins_axis:()=>Zw,pins_brightness:()=>tk,pins_builtinimg:()=>Kw,pins_builtinimg_extern:()=>Jw,pins_button:()=>Bw,pins_buttonB:()=>Gw,pins_dac:()=>bw,pins_dac_pin:()=>Vw,pins_digital:()=>Ow,pins_digital_dot:()=>ak,pins_digital_pin:()=>Rw,pins_exlcdh:()=>jw,pins_exlcdv:()=>$w,pins_imglist:()=>Qw,pins_input_pin:()=>cw,pins_one_more:()=>pk,pins_output_pin:()=>gw,pins_playlist:()=>qw,pins_playlist_extern:()=>zw,pins_pwm:()=>Uw,pins_pwm_pin:()=>ww,pins_radio_datarate:()=>ok,pins_radio_power:()=>_k,pins_serial:()=>Ww,pins_tone_notes:()=>sk,pins_touch:()=>Hw,pins_touch_pin:()=>kw,pins_tts_bgmusic:()=>nk,pins_tts_builtin_music:()=>ik,pins_tts_voice:()=>ek,pwm_input:()=>Aw,pwm_output:()=>Nw,spi_A_pin:()=>Pw,spi_B_pin:()=>Yw,spi_C_pin:()=>vw,spi_D_pin:()=>Xw,timer_id_pin:()=>uk});var Ot={};t.r(Ot),t.d(Ot,{inout_analog_atten:()=>Ok,inout_analog_write:()=>Ik,inout_analog_write_init:()=>Ek,inout_analog_write_set:()=>Tk,inout_digital_init:()=>mk,inout_digital_read:()=>lk,inout_digital_write:()=>dk,inout_highlow:()=>rk,inout_pin_attachInterrupt:()=>hk,inout_pin_pressed:()=>Mk,inout_pin_pressed_init:()=>Rk});var Rt={};t.r(Rt),t.d(Rt,{me_g1_aht11:()=>ck,me_g1_hp203:()=>gk,me_g1_rfid_readcontent:()=>Ak,me_g1_rfid_readid:()=>Sk,me_g1_rfid_status:()=>Dk,me_g1_rfid_write:()=>Lk,me_g1_rfid_write_outcome:()=>Nk,me_g1_varistor:()=>Ck});var ct={};t.r(ct),t.d(ct,{analog_input:()=>Vk,analog_output:()=>Gk,espnow_channel:()=>xk,haskylens_model:()=>bk,i2c_A_pin:()=>Uk,i2c_B_pin:()=>wk,pins_analog:()=>Qk,pins_analog_pin:()=>Jk,pins_axis:()=>aH,pins_brightness:()=>dH,pins_builtinimg:()=>nH,pins_builtinimg_extern:()=>sH,pins_button:()=>Fk,pins_buttonB:()=>Pk,pins_dac:()=>$k,pins_dac_pin:()=>jk,pins_digital:()=>fk,pins_digital_dot:()=>OH,pins_digital_pin:()=>Yk,pins_exlcdh:()=>uH,pins_exlcdv:()=>rH,pins_imglist:()=>_H,pins_input_pin:()=>vk,pins_interrupt:()=>eH,pins_one_more:()=>EH,pins_output_pin:()=>Xk,pins_playlist:()=>oH,pins_playlist_extern:()=>pH,pins_pwm:()=>zk,pins_pwm_input:()=>yk,pins_pwm_pin:()=>qk,pins_radio_datarate:()=>mH,pins_radio_power:()=>hH,pins_serial:()=>iH,pins_tone_notes:()=>MH,pins_touch:()=>tH,pins_touch_pin:()=>Zk,pins_tts_bgmusic:()=>TH,pins_tts_builtin_music:()=>IH,pins_tts_voice:()=>lH,pwm_output:()=>Bk,spi_A_pin:()=>kk,spi_B_pin:()=>Hk,spi_C_pin:()=>Wk,spi_D_pin:()=>Kk,timer_id_pin:()=>RH});const gt=Blockly,Ct=Mixly,St={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},At=St; /** * @license * Visual Blocks Editor @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},qt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],qt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ye={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ve={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},xe=fe,ye={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ze={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const la=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},xa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},xu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},yu=function(){return""},bu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ed={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},id={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},od={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ad={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},dd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ld={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Id={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Od={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ad={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ld={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},il={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(xm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ym={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(qm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},YE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},vE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(xE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE="#777777",VE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},zR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR=100,tc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},oc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ac="#A58C5B",uc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},rc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},dc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},lc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ic={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},Tc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},hc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(hc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Ec={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Oc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Rc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},cc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},gc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Cc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Sc={init:function(){this.setColour(ac),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ac={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Lc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Nc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Yc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},$c={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},tg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},eg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},ig={init:function(){this.setColour(ac),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},ng={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sg={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},_g={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},og={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pg={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},ag={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},rg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},tY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},eY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},iY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},nY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},sY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_Y=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},oY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},pY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},aY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},uY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},lY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},IY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},TY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},MY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},hY=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},mY=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},OY=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},RY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},cY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},gY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},CY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},SY=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},AY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},LY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},NY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},DY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},fY=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},FY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PY=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},YY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},vY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},XY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},xY=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},yY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},bY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},VY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},BY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},GY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},UY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},wY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},kY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},WY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},JY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},$Y=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},ZY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},tv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},ev=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},iv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},nv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},sv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},_v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},ov=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},pv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},av=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},uv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},rv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},dv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},Iv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},Tv=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},uX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},rX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},dX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},lX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},IX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},TX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},MX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},mX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},EX=sv,OX=Cv,RX=Rv,cX=Cv,gX=Sv,CX=hv,SX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},AX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},LX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},WG=function(){return"control.reset()\n"},KG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},JG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},QG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},qG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},zG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},jG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},$G=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ZG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},tU=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},eU=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},iU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},nU=function(){return"while True:\n pass\n"},sU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},_U=function(t,e){return e.definitions_.import_os="import os","os.uname()"},oU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},pU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},aU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},uU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},rU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},dU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},lU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},IU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},TU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},MU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},hU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},mU=dU,EU=lU,OU=rU,RU=oU,cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},PU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},xU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},yU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:bU}=Ct,VU=bU.render(yU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:BU}=Ct,GU=BU.render(yU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:UU}=Ct,wU=UU.render(yU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),kU=new gt.Generator("Python");kU.INDENT=" ",kU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),kU.ORDER_ATOMIC=0,kU.ORDER_COLLECTION=1,kU.ORDER_STRING_CONVERSION=1,kU.ORDER_UNARY_POSTFIX=1,kU.ORDER_UNARY_PREFIX=2,kU.ORDER_MEMBER=2.1,kU.ORDER_FUNCTION_CALL=2.2,kU.ORDER_EXPONENTIATION=3,kU.ORDER_UNARY_SIGN=4,kU.ORDER_BITWISE_NOT=4,kU.ORDER_MULTIPLICATIVE=5,kU.ORDER_ADDITIVE=6,kU.ORDER_BITWISE_SHIFT=7,kU.ORDER_BITWISE_AND=8,kU.ORDER_BITWISE_XOR=9,kU.ORDER_BITWISE_OR=10,kU.ORDER_RELATIONAL=11,kU.ORDER_EQUALITY=11,kU.ORDER_LOGICAL_NOT=12,kU.ORDER_LOGICAL_AND=13,kU.ORDER_LOGICAL_OR=14,kU.ORDER_ASSIGNMENT=14,kU.ORDER_CONDITIONAL=15,kU.ORDER_LAMBDA=16,kU.ORDER_NONE=99,kU.ORDER_OVERRIDES=[[kU.ORDER_FUNCTION_CALL,kU.ORDER_MEMBER],[kU.ORDER_FUNCTION_CALL,kU.ORDER_FUNCTION_CALL],[kU.ORDER_MEMBER,kU.ORDER_MEMBER],[kU.ORDER_MEMBER,kU.ORDER_FUNCTION_CALL]],kU.init=function(){kU.PASS=this.INDENT+"pass\n",kU.definitions_=Object.create(null),kU.functionNames_=Object.create(null),kU.setups_=Object.create(null),kU.loops_=Object.create(null),kU.codeEnd_=Object.create(null),kU.variableDB_?kU.variableDB_.reset():kU.variableDB_=new Nt(kU.RESERVED_WORDS_)},kU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in kU.functions_)o.push(kU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in kU.setups_)p.push(kU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in kU.loops_)a.push(kU.loops_[s]);var u=[];for(var s in kU.codeEnd_)u.push(kU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},kU.scrubNakedValue=function(t){return t+"\n"},kU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},kU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},kU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,kU.COMMENT_WRAP-3),n+=kU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const HU={};HU["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-7"]),exlcdv:Ct.Profile.generate(["0-4"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const WU=HU,KU=20,JU={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},QU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},qU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},zU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},jU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},$U={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},ZU={init:function(){this.setColour(KU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},tw={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ew={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},nw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},sw={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},_w=ew,ow=nw,pw=ZU,aw=tw,uw=40,rw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},dw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Iw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},hw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([["0","0"],["1","1"]]),"PIN"),this.setOutput(!0,Number)}},rk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},dk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Tk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Mk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},hk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Ek=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ok=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Rk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},Ck=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Sk=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},Ak=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},Lk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},Nk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},Dk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},fk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Fk=fk,Pk=fk,Yk=fk,vk=fk,Xk=fk,xk=fk,yk=fk,bk=fk,Vk=fk,Bk=fk,Gk=fk,Uk=fk,wk=fk,kk=fk,Hk=fk,Wk=fk,Kk=fk,Jk=fk,Qk=fk,qk=fk,zk=fk,jk=fk,$k=fk,Zk=fk,tH=fk,eH=fk,iH=fk,nH=fk,sH=fk,_H=fk,oH=fk,pH=fk,aH=fk,uH=fk,rH=fk,dH=fk,lH=fk,IH=fk,TH=fk,MH=fk,hH=fk,mH=fk,EH=fk,OH=fk,RH=fk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,It),Object.assign(gt.Lang.ZhHant,Tt),Object.assign(gt.Lang.En,Mt),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,WU),Object.assign(Ct.Profile.default,WU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,d,l,I,V,W,H,X,B,K,f,k,w,G,U,F,D,N,y,x,b,P,Y,v,ht,mt,Et),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,dt,rt,tt,_t,lt,q,ut,at,ot,pt,z,Q,J,it,et,nt,j,$,Z,Ot,Rt,ct)})(); \ No newline at end of file +class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},qt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],qt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ye={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ve={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=fe,xe={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ze={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const la=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ed={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},id={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},od={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ad={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},dd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ld={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Id={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Od={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ad={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ld={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},il={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},xm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(xm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(qm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},YE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},vE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(xE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE="#777777",VE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},zR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR=100,tc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},oc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ac="#A58C5B",uc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},rc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},dc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},lc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ic={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},Tc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},hc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(hc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Ec={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Oc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Rc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},cc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},gc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Cc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Sc={init:function(){this.setColour(ac),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ac={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Lc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Nc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Yc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},$c={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},tg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},eg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},ig={init:function(){this.setColour(ac),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},ng={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sg={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},_g={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},og={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pg={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},ag={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},rg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},tY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},eY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},iY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},nY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},sY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_Y=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},oY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},pY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},aY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},uY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},lY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},IY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},TY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},MY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},hY=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},mY=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},OY=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},RY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},cY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},gY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},CY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},SY=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},AY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},LY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},NY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},DY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},fY=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},FY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PY=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},YY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},vY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},XY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},yY=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},xY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},bY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},VY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},BY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},GY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},UY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},wY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},kY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},WY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},JY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},$Y=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},ZY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},tv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},ev=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},iv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},nv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},sv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},_v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform()))return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},ov=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},pv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},av=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},uv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},rv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},dv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},Iv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},Tv=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},uX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},rX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},dX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},lX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},IX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},TX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},MX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},mX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},EX=sv,OX=Cv,RX=Rv,cX=Cv,gX=Sv,CX=hv,SX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},AX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},LX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},WG=function(){return"control.reset()\n"},KG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},JG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},QG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},qG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},zG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},jG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},$G=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ZG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},tU=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},eU=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},iU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},nU=function(){return"while True:\n pass\n"},sU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},_U=function(t,e){return e.definitions_.import_os="import os","os.uname()"},oU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},pU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},aU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},uU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},rU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},dU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},lU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},IU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},TU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},MU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},hU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},mU=dU,EU=lU,OU=rU,RU=oU,cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},PU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},yU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},xU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:bU}=Ct,VU=bU.render(xU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:BU}=Ct,GU=BU.render(xU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:UU}=Ct,wU=UU.render(xU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),kU=new gt.Generator("Python");kU.INDENT=" ",kU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),kU.ORDER_ATOMIC=0,kU.ORDER_COLLECTION=1,kU.ORDER_STRING_CONVERSION=1,kU.ORDER_UNARY_POSTFIX=1,kU.ORDER_UNARY_PREFIX=2,kU.ORDER_MEMBER=2.1,kU.ORDER_FUNCTION_CALL=2.2,kU.ORDER_EXPONENTIATION=3,kU.ORDER_UNARY_SIGN=4,kU.ORDER_BITWISE_NOT=4,kU.ORDER_MULTIPLICATIVE=5,kU.ORDER_ADDITIVE=6,kU.ORDER_BITWISE_SHIFT=7,kU.ORDER_BITWISE_AND=8,kU.ORDER_BITWISE_XOR=9,kU.ORDER_BITWISE_OR=10,kU.ORDER_RELATIONAL=11,kU.ORDER_EQUALITY=11,kU.ORDER_LOGICAL_NOT=12,kU.ORDER_LOGICAL_AND=13,kU.ORDER_LOGICAL_OR=14,kU.ORDER_ASSIGNMENT=14,kU.ORDER_CONDITIONAL=15,kU.ORDER_LAMBDA=16,kU.ORDER_NONE=99,kU.ORDER_OVERRIDES=[[kU.ORDER_FUNCTION_CALL,kU.ORDER_MEMBER],[kU.ORDER_FUNCTION_CALL,kU.ORDER_FUNCTION_CALL],[kU.ORDER_MEMBER,kU.ORDER_MEMBER],[kU.ORDER_MEMBER,kU.ORDER_FUNCTION_CALL]],kU.init=function(){kU.PASS=this.INDENT+"pass\n",kU.definitions_=Object.create(null),kU.functionNames_=Object.create(null),kU.setups_=Object.create(null),kU.loops_=Object.create(null),kU.codeEnd_=Object.create(null),kU.variableDB_?kU.variableDB_.reset():kU.variableDB_=new Nt(kU.RESERVED_WORDS_)},kU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in kU.functions_)o.push(kU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in kU.setups_)p.push(kU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in kU.loops_)a.push(kU.loops_[s]);var u=[];for(var s in kU.codeEnd_)u.push(kU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},kU.scrubNakedValue=function(t){return t+"\n"},kU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},kU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},kU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,kU.COMMENT_WRAP-3),n+=kU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const HU={};HU["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-7"]),exlcdv:Ct.Profile.generate(["0-4"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const WU=HU,KU=20,JU={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},QU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},qU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},zU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},jU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},$U={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},ZU={init:function(){this.setColour(KU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},tw={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ew={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},nw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},sw={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},_w=ew,ow=nw,pw=ZU,aw=tw,uw=40,rw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},dw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Iw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},hw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([["0","0"],["1","1"]]),"PIN"),this.setOutput(!0,Number)}},rk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},dk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Tk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Mk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},hk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Ek=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ok=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Rk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},Ck=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Sk=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},Ak=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},Lk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},Nk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},Dk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},fk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Fk=fk,Pk=fk,Yk=fk,vk=fk,Xk=fk,yk=fk,xk=fk,bk=fk,Vk=fk,Bk=fk,Gk=fk,Uk=fk,wk=fk,kk=fk,Hk=fk,Wk=fk,Kk=fk,Jk=fk,Qk=fk,qk=fk,zk=fk,jk=fk,$k=fk,Zk=fk,tH=fk,eH=fk,iH=fk,nH=fk,sH=fk,_H=fk,oH=fk,pH=fk,aH=fk,uH=fk,rH=fk,dH=fk,lH=fk,IH=fk,TH=fk,MH=fk,hH=fk,mH=fk,EH=fk,OH=fk,RH=fk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,It),Object.assign(gt.Lang.ZhHant,Tt),Object.assign(gt.Lang.En,Mt),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,WU),Object.assign(Ct.Profile.default,WU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,d,l,I,V,W,H,X,B,K,f,k,w,G,U,F,D,N,x,y,b,P,Y,v,ht,mt,Et),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,dt,rt,tt,_t,lt,q,ut,at,ot,pt,z,Q,J,it,et,nt,j,$,Z,Ot,Rt,ct)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/build/Mixgo_Sowl_lib-v1.27.0.bin b/boards/default/micropython_esp32c5/build/Mixgo_Sowl_lib-v1.27.0.bin index 0335d5c6dfa121dc7aff02830470efd465d1fbe4..bd57d8dc59193c8e2497a9019c87800a3f5bb919 100644 GIT binary patch delta 860928 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

dNmzb>+9Cy7F64 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�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Μ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%0ABXl_&EGO7d;+pb6VJ?QS4iA*0B!(-=nxM zwCLyMCrS^$lO8QiJ^_kC)d`!Bu)z#e69rbzl2z>A^I%-;`GJX?K_QC$4h-R`vxeSjpjX z{&hw`IY_M!>Yrxu8Vjj>Io0UkT3^p%)Yz7y)jUzTb}w%q^53rpYG<;(f|%7@L?ou%QoZ4pJn z?P=Q50={&;B-zPN)BjCTYQeXas}|lnaGxs4lXEu6H_4|d|0Ms=(xLi>B`UdTp?)SE zBHt%HrVJ__maWoV^7kyKOZQq<%d?926;{=5Ii&m+zeU=l_@?4a)%%(&)sLtqEWhG;f^k#a&{XlNMWegfaGi9V_)T%re24yLrt|i1`*BU3 zyPf*bUQy@vU{qblBV+2^R`k=oTdo_v=w!{i3Vko1h7qZ#8$S0G%^keQTT7kbubucO z4#fhpTKYhdm)FQ!<;|*#ROcJ6lvm1+D{E+ueL8W=_<@SW*62Ca4t`+xJwu0~+PFjU zJH^fX%>4U?PE+Y;N*65bzUC{LBI6!I4BbDwL9tA;!ceo)rZXM9tnac@H7D1N($fSV z4iXdSMl&p!)z%F^cdCZpGfe1MEX4IJA~6l!_qi(P;`W(a`9_PHCmxHm?6D;8B6)4r}<*Q;eXO zyl6LM(tA6oHO$PW?{Rq$f8|JLgM6q(9N6xWJ9J5v_{B_^o!mP47S-vxYor#Ps7SA? z4yCFbp?Zv)QZ4$&DsGqlZVX8?#+-bq?i^{-^23TlEQeLx$nE*jL2hupUw4-3Q{$Bt zK1n5?Q^0lTWm0S6oc>}k&{ZTGR-O_m#4@eokMt7OC%c9~O z!6iMw&9b~lvFa;aaE_V%(npr7tFtW@<%Yu3%t%-pS z`ntY857)|C$vEIN)b*J+Xb$dcSg)DXd+E)IMq}MDUB97xc{LAL+C!25 z;qOYVNvb@-Z?R*eMU$l8u5cg5_T-d%wa?4-mi1C}1s9^e&1;o{d{Z~97S%x^*-Uk& zfczo1IR8^o&+`R7U^6;UaU~mH4eiMD6?MEP=`7XthSe3P^Xs$cc(+(Lw>; zC-O>(zT4=tfE*I&Li<5=!>9W+D-?&t=|ilPe&RZsP?Pks{&oGibm55zbW0*tUDtQh z*_wl+6J*8_S;5xN4f22GX>Ly&6w;bXP34cP`tBH&->7SC?-F z7fTYVrRid(y*Ad?O4d?MoqLje|BAZ4E6&lpurfx+PCAB(et6J??iw2Cb2YmaYa1Aa zpTR9e8S@8oM1U0HXoVG%^wVXl8~)aLnv<2$ar(@|Qdj4G^>|L@%4=*L7eY^v&B|!i zw^ehh?W(ZUq8wMXDu2N{x@r_+c^6NckKVr+VnJN?I=78+*&*`PTR)M_(jKe<{z!5%SxWjh1TtHf5BlURm`o-E#)!fakhwth|bQF&{IY zAjhQNE5*G1O1h@1pkF1OU%vR!OU1m9)6=7=qVIE?poi+Yu&URv#7w82m|D#$UR`J7 zDJ^yGX*$w_!n=yfL)t=|v)2v3c)sSx3Vj!Sgb`WI{_k5Fem|CC1Y(pk#8=BRd_{#@ zb!O$I+-zQ2d6$@a7FJwX+O9fH3Rj8McZ%u(-MIPC{r7dOu}mw)jCl`XdWEiKL~EP=SZe>PXaH^^3s-lRN9xzAFg*jV{z(%^nmUZ$!m#K9ZfTImSwH!o6;f1I#s*s z3B!8!=&Z*92Wx>f5GTeUqi_U`1*X45ONBvr8rZDhg!V8tB8Dko{Ls3-M=sJFf5bc; zt(e6)vPfYN3B=(=(_wYP%Y&Nj$~8$QG0UiXi48Dd{&2QUBw;wbZup%`G@mGz2bn1g zyzs#0s2lz;q`8paV;;$tj%f_y)mtQK%LYzkSh`)Dimc|a;&3dU-iZB{qHKbKRnrRI zXS}lNG2_|BD=IEgt<#($o7gL8bT-}VdOKIYk5jhMzgSfbUuJ%pMiJ{}gJqf7+V}Dn z&5u{b_(1fMAbv?FuEty~YYev-6RHZS*>sQP*1qpwrupWo`Eqa8wNyH8rFl{@t~^UJ zD$k+!D~ugVP2WE*)0`FU;^Piv(22#fs0yYaoW-DO$))@bJEU_>@2f7*?c!&yr>R6` z`jxa!QEGl%Qa8trcS+xpuThGb;|G&Y3Wf3IAo2)@j{ybevgR*Y|9@ z<|w_3uJvee*7d2r!#CGWM^Q59Km&9q^9yC7*ld)q(n2XYb7iv;`QMS}adzASv%-BM z2XCd-a+To})wJp!BbTfs-@@}VPEgsEJ*q2=bxN_yoV?p`P!f;s`VliOX0`ihnirgkRZ+)J~9+gMh(9S~<9 z$;uUO7ikZCXh#Rah@lHTh$Df14Ds4h@z$gP(u2q#3w{wFb>~Qgoh#gV;v{r5hKx!I1(7Z=;j)?^Fl5}l1?Kdx*>-=CNPCLNFyuUT3ApGI~w3b z6I>!*y3##JzaG+o?v?IVV&c*jZf}%C&#|mZ@c}x}i3nooLVOEL$%&viylXnF#@$V~ z9?=~M^kV>nNFwkAGff;q1|t|nFE511{RgDSFplU1|E4gF8O&l1^N@bO!YxA!1FGRb zGg{$C5Mgv7jsymf!5F462g4tD?jy3h7zeQthVM}Rtt8qIKnNX(pbI@nU=S%}ki{6r zF@*w(kXUL1tfj?d7dSK1C3~g2d(hJhc@^TKoB8x zB7!dTV*t?%|3;C+IHoa!BD8FBHaL-EH{3{ULNh#Qg%>`w!H)of2%#OFh+y(fCQM8q zg;9*>DgQ|l1V;V&m_OKvupc$J3%u|ngfP0$^9tpkATfXx zhLFVsW+1)FHVp@w;X@E%^k4uf=FoGP$F@;%3w18SzQIAGMTlnWg5FO~k07fu@8Az|O zRB)mNt?;1(oroZgUZj!3IHoZN>2+ovwuh-BBBCBmuT%bB5;D!D^g#{pBcjqEgbqXy zLl?RcM?VIUL>eQ=VjPp0K@sz?PEibKK`XqlxS23T)kZov6=gysBIrgO30Pm}@QRqk z5Jr(h9ut^C0W+9`^ae`^E9_{16E1k+gC9Y3B7$!8M~`E5lSm;0@$%R#F^@?UP=rMD zX@C_rG{6ZDyznE04usK#IQo&NRUIS_VH9JSz%-&W{3~J}hPN0w9B4udTH%8qL3AL3 zZX_^(B+|$riyZQp#ti0Roo0s7j8?QEFirWllW6}BJr`@-U8H+3fFa~CiCM^hqY}ai z4}1t9gfL?0MG_;(V+Pu{scdk;k1%?X#@O4G|1^ntSl?mE(E>j@(Sv?if6po;rjWr1 zvKYfSrcuN^v;`^|Y-m6uJZM9JH4!3qq6@uI{taRXS&XBAd05_M&f!EeS`k1ex)8?z z(ilY^Q<#Ocm*HWD6E1iWL>MvjAe!LcAd*NUgDmoxz!YXMhj|$O&P>6HW_Zzt06Gvx z@gtUun7|-X7(pJ>n1f-4H8ex{J4je5`zB%wdArCmGE$|_LPDId+eheTP<=+sp z7{@e_-YSTUWY=h@%+8I3`g*5z>duG@=&% z*-?-1#Y~9U1TO;UKn!stkVFPq^3v&P*>Y=R4|@S+U?v?GkJk0}2* ziGCz8f;^@$i#f>qsNJxm39axWfFMF>M+Z6)Mg%c*BaQ(KA%{uKLjIT;j`GieM!4XC z4*|3zhF&Bwf;^@%2g5uw1}myzhXXEn5kv>N5Jx{!7(oun0OdbHqJSc#PZ%kxQ4c4Y zF{`X`w-7_CxMD?Y6KQlJh8`p^fFy=6f-J@`j!Dd59)?euY1lrc{0)qJQd{G0po0_5 z@E}al_=o{mDr(#zVu$FCIC{~KK_rnz2BXL!j|mho2l+E53OgKVg6p#=FqAyhLn zox}*b(1Tv|BZVQv*VeeR#5|@ji)KX)-wD*XgX?PCR-z5{XhaJ<@F5^`kW1tT%kB<@ zqx|beTy$XIeqstE$YBCgC}0jU6SBYtCz{|v8-i#@CnD%V54ss|f;fmFj3A3Vq7(d^ z!Yt;YWer$Sk4CuQg&#q*qZ2XoAb~+-kVPxw$P*_p1mL|YT9ikQV1CNP5{=Al(H0odU{6I$SfADxJy8@(7n5@`$}gHhz7{2Rv< z3MfLNwi{55#74FXViR0wLFQ1_5HWxdIuJ$-y%<31I3`F;V+3QEz%*tdX_yA0HvT!# z2p7EYBZM%zF@O{@m^hd1nm8uXC}0+Ikl2h3u)+olYqg%}L^E2^h5*{psjZ>?C((^K z`Z0)67)(rrIDu&tAy+bT*wF|V0*E1j6h@K5B&Ig8iHiJJnaKudJm__QR)Oz9+W>CaDWIYQ4E9_{33m*6oi1IIl z4ulay9Q~MLm8OUpj3S3TCQ!gE=AboDSI~eac;Ll6mAQ==L?>d1qaR6R5Y6(h<))SH zF=8GQn8Gv)n8h6CAyJ+(w5S$k3n!Y<3O|DAKn!tsIM_%K2arYF4o20udRKn!stFn~dfe4VvM96|}S zfrJxHXhj2e3NfgbQA@Ba9e&5Jx|fuy3K*h#6#2U@6CllbFFAqyrf*tf)sLT!^;v z&xZg)=z#MU4zq|c^dOE7Mv@@*BZUmcFpfzSP{ioj97i6+#4y>yY9?A?Lp_{mLJK?x zQT|>MeuU789wab`6fzja1PYL=Szm(V+Iq^67(zQb5k?H%=s_I4NT44B7(@zbj3A4#gDL+!i3v=j{a9v% zDAzI*u%i*p@Sykmyv~H^M-ZtTr)k76y3vm$(#Rl-S&Ar6oJ0XLn1fu$8jkX>9uBm? zk09C+5l&%=h;j6yAA?9?2pNoE6j|gjh6zlefFc^t<1C3*QnE7xA|{HI?#zQA|m|4Bqg(74sr4@~6fgeF9#YpT#3~}@$g$%ODNBLJk5%M9- z0BlGx@Ce4xK)w+zXhj} zumM)sP!9*3M==9L7rgKzhz`WiizJ3HiZP6164RJL5py(X^F;YDri1FkD1SQ%2O7}~ zFWL}97(GZJiH15ZEHpA9(xb>>0@Em*x1SNr_g}qXCU*K`VR+G*JHSB)Sks zKhhY%7$z};IcUGc9HSmixX=n80%%7VZB*E9Vn0$CMUjKfJaGaA%wite=;4$(Y;d9p z9{3PM2O{W3F9wl923<{5BH|eGn7|ZfFo!NybpqNWm;gzM9_^m`Z09@ z*K~*@$YBE0n1ysCl?Vn{VaNQFoGTC;(F7NKR9p|SO*oKUGqD2^bfM=+%0EFObRtW{ zCOAMkjSRBLV-f`vVfZo=gdI*aqZNJxG3a6f#4s|XyNGf0BZ)M8Y;pZ3P%lW2MU5;S zi99Azz#OEtObpd%KoeYOMH_MvjAb~*)A&WdFFpa4^m-vYDkZBt%s7BPzzXmwr zf(Kss5k?$?7(y1~n8qBmtlnxgpb4!AAdDUiUg) zMl{0%AEu~y0b)BM=t2)BD3V@cKL(M)5Jr$g9^(ix{%PVY49Bn)z=`H#D1Q$L9|CAc z7+r{C07;~g+d$((9K!^rq2h6l0h`0dtVQ!kU8}4m6q(kUL1Tl1@AJIYn zr7*-d86(6j@|eIBW+8J_WPuI!NZi82h=Eg>AkhUc#yDLM5SvU)kl2A=*YViD4Dlo_fa-N3N`(TOH_(1rjc1rsH9AcAhhQO)jo zfH;KFd$=}C%wrmJ$5H+g&8QYu)WeDNtt;Iwq6c31Q0(H^j~GA*9f+VCag5U9Icfb8 zqz9445Hc7=4tY$XfFk@+50!_6<#^^4HrP=Q2O8mm2R;N5MvSG35xWsb0s}}PgHhy= z#{{M@1Is#Q5CsY9{3PI2sRy;>4_1<5vH~4 zB_>fYvqp#`$f5HluK(vrOrn4p%t3BuLTEq}Jn$ok0v8~s4q{U!9Yz-dH*txcIEW#P zqUqOM6Ch5a_kO+yAkJbA63x98^(RvP4iY)au8HV^2VVFQL|t0E0`(b z2yz(1I3_WTBBZY}QBt^;Fpfz~V+KV?w1gJa zqY2Guffqjb5ke*`p zxfV9q(SSy@zy}wVvW*x-2g2wQ?SC%@ki-b`Fnogv5T{VUEaor|c|8;2IL<({!Uj7U z;KU>iPBXC;Z3rQP9t}WtETxdZn zdJ6VR+bP}*ierKG@%&XhAF55I_hW2%{Tu^dp5KWHF9O zOk?KEn!dLNH8(3NhTDIsiB%{xeKWt-e4x+_zmeh*9eryb(LAe=`~LHY<{OI2zSGkh z9>dr-nAU{)jN3I^`oh~aBg4l$s;N>agXcZa@*9m&dBOw3Eu)&f3gxAj4}W>5<}P`7 z*E5=16-xg^Ut5khZZ!U;Z(mNcLwSv=Z|IMjeBX_`G~>hm=QP(S`r?DyV{clvTQj_D zxAwZV(Rm*1tK(N_#TK>Oc3#P*AFJKD@0QY|m#E!$wyE8o)>8gKqA+)^+C7PDu!(&B zN;NM-F457g!0^rItKH|Eqjn#9soFjG1GPI4EREx6#{b&cYWFi|sH5Va`x0NtX~f#I z)b4v3VQ%B+I!P}&iS&<{(f7h?x9$o?#LV4E{#Yg^k+<`?XMJg=ulWWu2(bWu;yNZA z@-kC=p4_T-|M}*q+MS6pXE&(%qD}4IbDi4#UE+U;&DX2lGA8)^?Hfto%u@4Nj?X5D zH(txql8zHyd~TxKU8D!`Ff!PQ%e$C)KEDyYq-&X$i*fx3V^MneGmfU?drasg;$HFz zdTwRnbEHGWJFyKj-HaR=F(Xhi1FPY|9K(N#Wl6^OxZ0iincDreI7RU&YvE32glM>r z1>B}~caU$tU+s>*_mJBChdY>SdRF$T-5W^vlRjyHxx8KNzH*pIKbyBRl6zQnjBo={ zcP}&1N3k)I089yHntmdKjO&+b_nUOv%f$Y0H}!*IUZdad{+6};8@2m7hTVv%6y^V0 zdb%8LdhEH2C3r;bb`t;04D_J$Vak>n3NVu8)&nG&tvkn-KJVaWo3m+3Xd7pVMa)A! zhmDTiQ<(D{1LJyi)bbP9-nnQ z!JQh*n4);Rgp%0Igl@C)xDnze@?xg8@c5pgal3mNbC)M>B#NiNZ6ih|7!m!6ClzjH z;)xu?6Xloe?xStIBJ2+<-4Bv)Ait@Wr}7csBwzh!yL(@qB>DdwwYxX-AdMs=x_lLn z>S1YikQYCb-9sGYnJ0UR;@7_K5iR_#^>7|~G5!jVJ7&T`x^JU@=As)@6I@81&hEGOGY-NcJGj{iCIt-BC%tIWQH`rpEgj1zZ~A0h4{W{G=-$Wdwzsre3#BD2Cb#!0HD)th$(Y=LOb1+3ne3ZPu%I4ld zY$U&j*g$-hXd^CTMh(QHW$|h&64%k8z=(Gdi$oo(s);h@i6v5VcBOkCG5^#`xA@g^ zinxr}OM8kae@i&rN4IK4)SrLj#@uN z+)2L3gj=3j>7JWZx?7?og0Cw1%^=Th|0|6>af0X|{^6}s+&ryzTgjh96nni2p5ppX zJ`?HBK2u5Ia#|J}@9U-RB0cj4tro+LmgBDS@SpKM5C`4F@KG_c|KS7CV|uC-|M}YI zBk9~fkV<-x&le{;SnhX@nHAlbG*1#P4L`~7VtljZ1sN-kPxN#2-%6itE%g)S=N_dF z8_Thw96x1XF_J=g0-t`SmfmJy(cnx|XGGiZZAQq}CKbtx25U20($Q=c{mhVfXK*iZ zhln{U9ov5o@k+M)F5*u5i{#k;-PGnzI&2`e6CYefB@#U_GCy%0c^^^C%;j&FX6o&7 zyx^Tu-cTsT-f}d&TPnJCq8M(v9Cs4M0t_-fu>glr|0n<|2OY!`T**W)XZyF&(!I&% zWv9j3$09aRdBlK|f)IED@Uk{D-Y#B~k&j*?N`3ZZ}y^Tbg0YuZvMkF5ZUHVf>s_DOTe8y)}5FJk=U;cDq-@q!Gb5JJOLwt^SJ2_hbPJFdOL!M`=8F~X^3_x{D&8Ji)h^;*R(FIb>Xl`8sWsFR zMFo_iBzBRQ8!J`Bx#uV^MmkGgRLBBx7v(x7@{C}DxP=MiiJRCp=ZNnSM~OOiEE%Gx zxM`xOxJlw>`X3-}q`w4lFELKsM~rrpP%>bQsAIq|@lj$2aSt;VB5q=p28fpv+lX6< zv&`rY%GXK$E|#!BeiL~w`OQQRaSPE!Tt}3NHEXDN#64_^Q}n;#0M`EmiC39Wo_Hm( zfgY|S+KG=cp=vPzBd`!fnP%TBZBnt>QXD8p-TS3{J5f|<(E`3&PJc$*@!&s7pNIcd zid_qlr|iYc9r}r)**&Q|qW8)Z+DpX|6W&-JfsQEpOZ~gly}#UlvOIjI+)BKrgCg4M{ha$%P~Y0GmHS$;xcM`npi_j z61P!g2@y@yDGs+b*~MX=ePKp|AC%VIYef#D#j5@7zS17>y<({Wve1Lr6Gq4{HcocB zEvDm3x^JbsSeh9|zO)gVCodLeHMM^)72NwLwg48UiMWaAAl|ly?Z1V@UDQkw#RNY6 zOd|z9DoyNDcCXfQTI?y``%h`k|4bAU4KU0?yTF84P^p8wnCM0(`YLOtUcS!tD&tN( zPjgP}BJN}jS%^y3q!cBwhq>FrD&N8Op5#b&2erS*h;)pkvB0V&ibHL2{9R9cl%kkY zUFUK$f&%@eRl8MxV)(^cKUiS{%%hJP+OP7N208L#)gI1jUB@0Vo@Zv+ z>opK}P#JB+T||q>vj(-qo%AaaMP1souT-aQB#Jd9iu2+5=;xKHW4_eGy&rQ%%7n!; zSj8%HF@nvEs7s8nj<%e*j-u)m-T7Q}-$D!##fY`+m@i;lqGEfPn25{BmnN!|9%lTd z9ndAJ{rew=S2!7gs8ng9n1N^M$O1~E;;yTbtqQxgG4ctTZ!ypr42-? zleCUV<0(B#q`paq6Page3vmr`8}Tq=^fnSlkhqR`BylJ43F6VjH;5aFZxJ^WUm)H^ ze37_=`2W%N?g3F%>;M0rJ2Qd~4hSmd09!ypLqSnP9k#$AUP8o6hKZs{MoMO-hRtvp zF5W^>mzo-ysgZe1tsyfV4Ta1M&B{8Qn$!|Io@Vlxm$Ll6pS|~pp6~g5zQ2EdQ;)Cp zto!9zYp=cbW`?fS1`O^M=u@D756%bw1q$G=;9}4NQiI+HQGc!m4WP=O)T8}W`+7v8 z+AjsE_L(5neh5gl-v?6dV?nC@9FS_i4W!Di2C4F;AXWYtNR{soQsuKjs{9O)D!&n= z${*C*q}o#}sP@zfs{MSBYA=9Pdujzu8M1nswqt{}f;vbmM1acvcFW3sc1!aDmEiZX zO4zF02f8K~KOv?8m& zN;sCF5?pOcVGa^Zgk(dKA?YuwgxzRK&Prt1ti)GRFXfG$9E6GO9rZrPHtRrB{^{$Kat=_?dzN^GW;L8($}sJFR+p<2N`P9(##h<(0-{DWlycJ1%XtVxNu)@ydb3#({oC5Bx;Wv z66yh(e$+)d(3gU1z++%Jcp(ri2RDKXK+3Z)LMx6x2hwTDa`>YsjKWXwpf0(CLKU2f zb(*OTwjENc#Q7$T$){3(Aa{I}U!fM~k(z4J6CTvQHt5H&RvNL>=oXH}ADn~RAP%I` zEl5M0FLOI6!>1=EMJ2@C?IetxhoOairJl?{mSErzTO{25K8`SLqR)8!h7 zxpVK9X9$YD1b^zr8e~d6^B6M1qJ>``#y%V2GjSrd5j~OxUc;K23}$x2#sZuV^59}H z3>;#Mz-|Hw7e}H3U?~>qL|7qZ%#bHtRwu)MJ{${>pg#&I1bqb^LqWOFeFbiVo(kPp z@b9QVBE|n7Dqy3z6NCs#n3z8}M6Qqks-gQT_B+D8_f?R_xPPoxTxDqQmfc$#_bm8P zScR<5g-*TI|6$4hsYhh{kZ2PQ$q^H=E>prGAT3>#X*VSDx#Q#v42Vw|-jKOoF7O71 zgY3YMyRKB=ju!Q$3!XLu`OQVz+&C@Xwt_(;o)<$c*^F&D_y3BVfmUBaPrL>jA!4M& zg+iR?;#7wRKH7e=@hXB9$W!{j;;Z^=g>r;EfJ z&VNZnWs-eN1L<160C9YV>oZuN0sHRNH=1!%0mEI4VQmEI-u)0b+h@@yF{e)zbsiC@tM{VDVkNmZeXEpM)$~NIa1CL;wc!rZ)7EJhwo#errb1QwD>k%r84Vd-&D{%V7(WnYK32>V0lCtp+86`N_p_J z#o(W-xmuz5Nv*IOG)`+@kbUDFg9J3*@fR@OX54mwtI-u^a32^7ie?Uyd8@(x82?*H zHw3&2mh!l916PCRKr+!?Ki~{36OK*rSc-re(AVn1$J=`#^gj2Y$=D?*rHg*KbV|id zQA$0MgPx$1LCV7q*OD7@I&vE)N%@g`&qSXaXTUEafR?$jvM1dfot_{WRQVIKp~+kT ze_sW8_&p(SQ+ySo3Xt&@;~b54adwqdAq<(QW5`7IR7uzP88)>NU&xKFl&_-FG<;lI zuE_e(o4-uQ8VT75*^92Fl_m)RRDcUQO+o*Q(h#UY8iG4C1h~R@!BQ+q;fT8wOaXlj zn3IR`r?#Yf7rKb?zrQuhkvSRKb&y(h6)eSkaf98kjGY5x!DcW5JOol< zbl$aao>VZo58mevEo%2a^_}RGAD$fLS2*Vky!S*MPoC&P0B*luFLLRmXj-g2RT) zoaDfV77?=Eiy-O#Fcu<{4`r)mQUq*NH8Q4-4E_F zBS(Ij{Tn^IMPpEgv?`o6!f5QW7?^9c}!W0O1<-rSy5&C@WIP<{Y&A7=1XF$&aFF>D6 z;TWO}uoUKP0cog`H%s$58>IPtK<0~^aVJR=JsyRLhaU*oBG1)yjKN*hdZK(8ETTD$ zhhtKOk3LXg?KZ8@wiQ=C6i8h*8|ko~a4zT@k*wfn+$>_6<$)3Cp&W2N7NCruZMbM) zx>(@xGg>eRT#CJ~nTVFfgBvkDXe>6$(`5!KLHZn!rVG8}5QBKsQoq+FW4ew8ksbz} z8rB~qgQJbbzWd#_Iw@jD)Shnpi;$5tg%n&7{Ajw+f^$fv!gq}0x{URmxD+cEvA;^% zjL*VKM*21^P_$R5=2QyOr()p(~2((b^uz4R?~9SYs_&j-8i7W`IYm1u!K zt>wfyxSc&uI>xpERH6%agEP=$YbYFC4o-o;o%~^}g`|U%!PVgy67U*s5bk1Z(O?_C z!c1y0Rr3VKk$PdleSU^Fq^_gQLL%H`FDG_M)S~j#I{LVGN^ai*wC7E!XG0N}@@z() zblA2XWzf(JLfSjW$4MK5azs*Vl;XBWi!N{Zz*ne}J9(eGQFi-d9F+}H9IANeLEmDu z!ueRVeuKIrS;(EuB^H1S`i9Mo(|57?ZISdf-$nS@$V6S!=Sh*4Oo87rWIfaoE90$1iCf74&t)H`9QY;glf2jY1j>cocGGC$G@bTqX6h>qSp;P_)Y z0gDXR__2;&vf%n3*NH7ZctR(bp~oE336bDl_-BKHODCKKSAx`#JU^*`MxCT*`%C)j z4pI-q-PMXc;1?kFkd3?6QR*res7404APvPWM4+Kqr;)r~eNrZ*suRERI#f1?pstWfdso$rdT!Zky!Vy<|7qKzx) zCeZR657Gv-091oDpawhuYQamO4h(u4FKmMupdMTZ8o=FP2k;K)4-T5sO$Y!Bz>eSn zuoK8VgTFQav%o;Quc(2eGdx;A6KE{Ni`ZZe7!2+OyMTVrb`wIt3@{X22zCXxgWbSp zusaww7q4D|8DI}^0r(KO9qb8uK{FUOubU9AwBZT>M+7|ff|1}YkOvcsx(U6&Trdh; z4@QG6U<{~!uA9&sj0a=E1z;Sw7wiMN!M>p1{BFV{U@907E(GZ?wgF7E!O;fC05I(N zZo)t?155&|z(HUOI2hy>bQ5SVl>Zh^EIB`$((fCV5e!&M-y9j-_c5>031Mq=&X7dCLTPhn*)7*02Vd6-r#9(?zq0L?hVgdGUpaP5 z9sKJi+AWFjI|jK0eFtO@Ea-X-Es?N%&EfPa>0*D4-R7XCamx=gEQk zgWXxtyZTW2=aOpoif+zH`}AWv`vnJfF$STBnd|SWR<^xS-)K{Rk3UYp#|YA6kx-EC zjAB4K{7DAsd0q~v0SiGbXa{xRde9Ht1?s^@&;XtXJAhsgKcB{_-7o?$45VAZco4sF zW#dxeP{Jb*RDlaY{M;kA2E=c2bGtz;cnZWXig9hAAE^ET1%hUf-sMaNJAgT$KUf6f zx7N7jU`KEl*a>U|ji4J0#E(mH+yz)2JiHCPU6z&cP19s)TV?AZ;60`!7PP<;srK{KcZlR*tQ8q|Ud zK+cSofeNq=RDy@dAKRL97zSp5319)32-?8`;CgT-xEq`W(hn&-1=5cz%m(R46$(HX!k-4|#}?** z=b%3WUcGF?d-!nBFEKm|s@u8=3=9R=gK^*nFcsVg=7Fz)#o#7zJ;+&bxdRnoGpGbF zfhzD0s0M?spv%EHPzz>&I&h{94nH`GK|QzzG=RIo4qzkb54yns@D|t+H2#b(2jf8_ zI2sHD3&74`IcNgwz#y;z3z9z56)91U`LXbGqQ zi$Nv022_E2K{eO{YCtcj1&zNTT@j`qr~s2eB{&&WfkmJitO7OQc2HY{@*CmM!J`%Q z1HGUgGcGjMAGiS2gKIz|=mG<6 zaJb><4Ep_wF$3elATSpU2A6|fzyn|i=mtYU^)(C`7z1_#M}ytL1z;Gs9_$CY!2Vzx zm;i?U8?y*Z1#JW1D1>7mxCTrD8^A$eE6CMwSmMxfFcjqKuz-*bjs}%r0r~I6P?0}a zL;m1yPz9a>)nFT_0oA{uhrqDkF#mOMB*McF91U_VOfygcE(Dd}dQc4>0yUr;3;64kQ;c6S4qehb)KGK46UT~e9Z_3u=)nPzi7*Y9D2zE@3Vp)L9tn;Csxbr;nDrFS66A$=C^_7_$|ir(=T zTERGQETj=~0g}B3evqdS_6oQM^oPGM{UP}M3^@!r4^jWkU-%BZ2Dt=j+~aQ(PQuXw z@g*99NXd{{&lgRbJ8QwyPfeSizu@V4bEoCcn>%+_{(@OEag|VZ7q^wZG( z7kY0;cJ+cjo|!LVQ)kcVE@(73Z^Osn!rlkEPSzu#w@|oV3V#^-E$AI(ori9ofcOR} zJPvvWbfc`l1HA}(j2!=O(AP-1lFHld!lK>)k0?399zN4Ly&-^-_30=vB}=%6csHy%gUdh4+Vk9=cK1ZEARM zn5`O(K`emQOdh&U)_XzEpm4nu-UoUS^p3I~1${lm$4i*h1AU>ppc`d<9P~Em7VPvX zd?jUR(vCuShEXa@9VF}0+2af`H43mv!H1rzi17v+F^ae2l$;wAUza(ZL>ABF2 zxs+bgGoU9!A0X?~pcg>5$UQO&dJXg>(qqvjPr{=?%s}eGOz3Vg14-xbDV)>YS$SDM zU2U706E0lJ4i_xr!-XKQ9GncgKqX@4B3uRLfV2dS25A{e1!?I?26bQ}=m*AudXNVV zU>IlxgTM^X9~=p)!4CAe>kbO?hsSj=0K5ujf(_s(a4$%=?!{myZ~bo zqu?5lCiHTUCUQAA49o(DgBhR&w16p~KS-;y8XN)M85b_3QcJJHkp^A`)4@w1Abz$_ z#bc5+=>dm`wP^w8h^tcrt`f^f1l%E(2?733Vr~DIKD>8wV@H9c8$<~SdlC_5T7u(< z`NM;gi8F=;YuTCaRNZaAeB4nWIR!ZY8I9nYoT2Jm;`n5BAu;<=bulqIuR7F25^WL;y&v0_74L!s8L z1eZbzAXyOqX{hU(hxKM+ZLB_#xVpDKgIFG;&mopY>+^`EQF^7=rpR<8CGmAZAqCGg z1}-G#cM2?@)}8hA=)=Qrp}{1+#@8T1&8|_Qn~2*pLzS!gh1lv4VH0FMcvk-=Re!u-9&L`;V~FhS25iT(XJGm+PEal}Y1H;5Ra z;Zi|kkebWN!!skJ39n?3M`tCcL@!-O1-y`}kT%FA2=!jj@s5HU?!%BB5Spc3IlZ!O zy7WgFp`2Z@8*ZA-A$Y3S05?s%E^s%(O?d}%ZmtDx%uGD8cXO@NyLJ~8P)wYQYeN9q zfEPYp-1X_*ov(WJ?`dqbA8QWiB>V!g7(3ywVmpb|K}4=U+(yW)PMw6)2&baWGw^r{ z?w=qO=l;)s#-}R9$njnOJ^$nf3ZSaeM)4X7T#5wi!G|EbJ9ffXhIJC+Asrz%C@i3p z^X?7(T1}t5v!#X|0$U-}bG;yUWPd;W7H|xN{3Asho1Oucmb)AwARWl`{P7wA6%q=XA=G_5NcD&V6J>WYNEv589Y!a(wi0TUrK_bsyDXmBz_N9~*m2W3bGMna?Lnk8Ll$Qnt=6pG|{WVs~N zAI)++vTPE%MzzR(Wcegine(zA3|Anbw!0<2hhXLycnCGVO^!%Yg2W#+99)c&sVP+; z*%#GtJ={954%`c&8oEF#tr={AsHk~vI4JQ|Q2mTlZOR}BZt^#SgCLZU{4-?#9Iy~V zT|@qM*?&2>U3QaygY0euTOrgm^7l&qxWvK{R46r%0%G8%!v3@1c=%I`27wuJ9O}=> za8o5_f(vCg`7f8<>%rX+Y7F_iWdBp3yD&+r5d~bA1Gr~VAqe$1`NzObi4#E*I63(O zb$+hYVXfeG2(`>_p5*5bhC#$EWWPAj0-<-ba%8{BU=hTOY|B9^ss`Kzp{{BKMOy+d zL8z^FBtIP97oiXc4R0by5eI>jA*|o-ULkCn!Z6h4dP$1X22y=O7fSi$fwW!O1e(DX z&;nip?cg1d+QcscQAQ3C8I%)IkvbwWI7Kug!D7&Y?GDk7tss$8gmDK%hm!MqnLN~Z zghBM3y>3BoC-|W#qtS@RzD9hht5N7COAfd|cBkIw z?+gE*n2WfHkQT_GXrs^=Wwg;h_+nn85F>fu3wy-?(VxQpH!&j3CB&%$JI0`rAjx-- z8?yVbOkdc8w6!OqfS({+AbTJykzxPd2&ar8Hy{tm`f1tE7xuqVjWjzD{~*L(itp%! z)Ik2B2Pa$e>onWwvzt#r|ai9S4>EuV!AAWeC#NG}tbRD(#NTBc? z#OOj|NCBk$bfC}(aYN2SGCmI!vLK<5u`PkZ7RX*m_8C+VG7REv33PVqX!uNN8?EUq z>`-?W;$@PXBnNsHk_Rb-EQC}+ge9GYv5<5~CS=ZHNwVRN(c&ko@Exl3 z!ynfX_YQ=Q4Y>*_f-Ha(L#iNaAa#)4kOoL2r0rGwMG=InLCYaVNGQY%iGk3!6NVvP z3}g_b+z($SyAl%!at`8#_+^(`uCBzE`4$v4GBZN9!@V1F01^t_42glnLk2-CkPJu` zWHKZVQUED}EQHu0RgfCUdPp5)7i2G_0pfx*Ls}qI0l#bu{nIYz5#WYgm~9fe6_|uU zkcp55kkydAki5+$mdTJTNXBONi^&kn5`zqNA+u*bJAK;xS1Wl-4cp9Krt=fT3HF{ z2MY(51`AuNkY{x5n|SM z5q7NaBFxy-MY#2Pm;Xr6#aS6+_)NvB;tYdKW6dE#21I})L+X2mIKPN9{HC_;9up$u zjcynJu_5>>zjpoo``o^G^U2TW58jg9S}^_pgOCw+g)G5){G<9CdMHeD%0h%;kSfSZ z2z2Mm35EfRq#GMUggp>4rJ}XrLL>GpIGXx@iSu%zVb#+;g9c#2K%VMaVwoQqir)|l zz;BA-cD`drq3Gox#)z?zqH<7D?f4ObRbQp%nA&{E8HwDAR8nC)g;1LmflKj9PDmh!F?=E^)3_A?j5s ziC5(UQsoTV4YEMU;8g{}{bf$CHPo~c@X*6>@@!>svu9An?Rs~mEGChKQx6{z44`;u7 z*`C)Ddm^^n`BJGR>9-O~ZKcj@(rW4wDw-@MX~>|CiLtm)HfWb2IxyIi6=+II3l)ye z{xig+aXiP0b{Tru5}4htxNLW|NX%;~;3SvjfYXUr(o?Tl%63{yG}B8frE0sh`X9xL z*SVF%QoABhdph>SXG#6ju2~#un&}~BcExONM2qBqMf5MZ=l}6($|s_6b4+acNHg<$ z%kZjhb}0&JTEVuwW$4lK{qBNEt6hH55#=~Ke4i!45s|t&RXLJMD%*K49>>a^BtLR)LHKcKJFA-pj)}&V(Vkdn&!v49zSo* zKmH@PepG(rkKCs5KRQEH_PevW{BtaQx52FR4q*km4QU;oF14&0xgu4?>sPXd-G)a4 z#UXPyPygn93_}M;Q|~bhGP~#PvpB7tI9L#$ zp!rQnJw1;*(@z|4E-;?u?lFXQJkvSwQbeja^6~Emv5Gy0*r;&v6~}Hn^v-~_81Uc%k(b$9qyn>QMZm(R4Y_ycQ zG|=)Ryf?=pKZUQd zff~vyF`|*8I;;t6cXD!qPo)H~i&ScJpHHMhW6Lr1mU!ZSc!f3m%@7?a*4*6Wi9fms z0k0_1y6##oEY*B-r0XZ1_>zT)Sj?1r4Sk};ha@Tj#-Z0jt?-7~1_AWH!&FF&lk#B6q2s{&NmIV7RDIc`Y0Zd*9GK&C4lF8jH%~ z-n+2gp}*q1X~@F>a_b*6&9>sJdiGf;6zhw-WuafnyqcOx^l!@qXH$vARH^G3Is&nK zvf}p*k^S5*#Xd{YaRg`_!PFBzcd1>fd(^S|@@JE%UrH>V_!NP)yl?2!DL!SWG-fCz zK0Jl_I}Kmh;=><#Zh*6q;+4eLma9#Q)ZUrz4E0Od=J3?C45+XEXh4mHw1l5N;WTPb zO?>ZF>WjwIyNLgA^-y&3BbkoPkH(g77!X^HvM`j2xLWlmoZ_k{etK_OkItqFBlnGr z$ka@q7ym(KE&6z4gIQC?NA-ZS$Q6AYvQL?}`bZO-MwzV~yZEr9Pwn_FnFWcST z=||+QjwrP+dQSUQ#JQ-mnJr^ad%W?vtoQ>%*TGy$a%_d3E(p(+qJ@4$vXodA){=BZI$aZtT93EI z;P?-py?Tlfa4&}ar2y-}iXjyxY4z1on!Fe5QD*oH^_BT$dTw*u#Wu&C{GbEe#Y@qD zs?b7*HUHPkN>5(+)Otq}eoQ7QxGUE1^e!e;J4EUr_xF;u)(m0(J$r@rt$Ebo@OX>z z_GLxntj-cJcsSXZQX6FUyY3UsfOJ-WazF#xGGw^iaqp^VUjB5Mh#o|kzu@w zf=_>Bcp_kt+nOwT5#BqsGL5B)gLzWH;2#m zaMN=l>vZs=J`?cjgGKJgdd^P|9>)Mc;~jx_XD{%O-A~yU3PA^CsH5%At#ly;-BN z=C8ZVm82=s=GnbTSUKd-KSL82MstaTNqlS>qMSQ)((^8jE#bN$wJl?Dx zEb5q{S6Ab5Y`wUP36tu%*wdP2eVUk;!N>eEn|aLeMT)fA{G_SYd?p3B3X5}QIBIX+ z)b0PeQsG#Z@6dH--er^|V}?U=xwGNoC}YX$$6XVW z|4;`mIqT@MlBTn1V;xWT>z^*9t?|3y7@SbQ%;WZ&dVLmvHLBzlkJqvUJHE7(Sd`PP z>N=OdwgdO?XwFr9{!G93)4HT#IeZ}g()S8=5*N}X}(#72GrmhQicGw~iYkSle;KGrCV`N`DgNoN~gjUBP>HltnxA8mmeFNz{sEn2isWr1eNkd(;_X zw7Ke_*P+Y&(M5C3!&=G%7N07sCu&ru4h-2+5=XY1_X2BG;K_pNmIPM zR(oQr$C*S6q>hV>yS|zwpTr$Q?F+9pe9yAT!t9($>m9z&VbYY>Ne?_aICRFB=jQQl!?=T91Xs^Uu`*zYF|ye%-dM_qo<70#1&bYhWT zNm_(MdD>(Ab!y-be_p?4t!|1v0qy1fX-k3=2Gns0nmWrO=ML?rO}oJI)xRnIEYC+5CH_0w_{VQ$rk8Xbzj?L#^FmHZ#q{21-S9E8pU>Q%8oCTT zqo7J?aYu&@3vLMWRsStDQe>rAsWMm=jpIx#?iB8ZZi=^mW0?JvAv{1-nykZ46mY){ zU{9XHrOOxIf^bP`va(yJ3<*=QT-R5sdR1;xMK^8QXBoD3f6{N zr69d(r!~8HQtf3cSNt{Y#>;lO&>G_xBWoq3<}8w1BKdM@HzU-U%(M(tNLoZ~X73Z@XA zgDH+b$Tp3LNI!3NSofuw94YTJ{cXPfq-R#Zf>vdrsu;~+HhGMz zhOoY$8zPj7`7HZ$!;?|(KBC%LjnLZ5(fIyw)UDsyNf%$;`R{_!ntzm}$NP;A^%zU0 zv9CVIAx>cTn8td?2jof#GFoIhu$xkLAp$eb)8XTod~oxcwZNqrmE63_nS_n8Nf%;F zxOs)k=XB6W&ls%A=SH!aXABv(lIPnq zPy5kfjqHf4kn!D)wK`6L z3V-gbbu?wCN$7y=9J5ly>|D7SDr>6pAj?I@XVe(l*K}uL1d8O*7t3{L8hvliFb{rbTwk8$fOXE(@3A~&QTR|cao>5RtppI&^V)cUY*U ztQEbW{$tDScTG3-ir!cejxMIbdN&-dVvq5MMa=kxAyoOpVix;_Ax=5{1=73re9_ls z;nuTklXd;4tE`WIWV$($3;q;|o|6;JXZ2qg9x|lNji8;DrC(Qe_6rzu_*`}aw7u|t zOm3WCz+n^Xt;o;Tp_{`C%62T}7QM72q&5BatF2h5wmw~k>7bvz{?m^Ro4&ry^;j1C zIecePC0F@N6SMcdiK($hR$a!Braa}VUs9!tlWO>;b>xR8)>V-|MQ0FqNYT0u<7>P2 z=Ekzn5vC3u#^+dJM2?@dwf^Wz{|%}@6zVZ5rm@543=#T3b=l74oKtINFPHY}-U$Iy zzui!_Q_scuwLLMEnZ7hc_=oCtH9QemHgs99zmH=nUm8OE-aD|th3ZUUd0!gLnOT$O zwHPOh#|cerOTK<5_eS~7EnSb!bH`7b=Qh&1K^Ms5m#5)|Eck^D`X5c2BGo+iBby)8 z=j~u8zch5W(UtOqdTaGE)7K$f{xaA;80l z+(rK{0*Zi!;4+Q&(GQ9n89%Hzer3?k*so zR+e?%FiE%9LEFn8*q-w+%(`)``MhC@EpK#~MV z`j5g-vPk=+$T1HT%N=5)zcnNc6-#ohq#P-~e$LvL25=iL`lXOTbQgwJiRHtY z>A*AMRBSo(mZK(|nz_C;bk(6WvAf*g!Y+=R1w}gUeg|QR`fS#3PW;wn624j@q5?+% zaqxdwZpB33R@9eU-JMh%ABg$h2^*PjXG%#k|B;ba8=S}~(rbV0#RcLf;%-ydAL($E zPR&vjtDIzK87a~RmlglrU>&-@6z8y!OSf9{Lw?itcd!=fPWSe}Pfj|<%9`ulG2h(I z4Bk=u(qQhJ%c^KS=afeJ;<{Et_Yg5fUfs5|e1!&9Ddk{(hxKnYJT^j%XuZ0PsZQv) zv5x*Hr19d+v5lGX*jajROYff^Tj^^*thx^lKzc~6wM@?MXKk=zp|Kr7|J5E zXml-O-f||qu#sEk%>P!+B@MuFg2r)!iD7jC?DRiy>g%S~ST3#m&d|#y2AHi!KgwUJ zekdFDq%E~&JhpVQ+n!yIO`qg%A3P)HTGrVd;qiTsM@(5gC473w7gU4%J^5d$mA=$@ zk5LLKrW7x;LU{aM+z&Nr7faMXY0}PC##XTH-x-n~Hj8$7vVQ3f2Qm?>Po41WL8j3sdcVB^-CxG*84*;LD<&q`(v7i z*E>#DnDG1*v85?AmDPNY3EA^+tp0n$q!e*3aC2hI5kYjjU%sf)G+@R_*8b$IFTZ)e zZ}rv>oakS&PTWbK!wzn^Y?~@}VkAFO=cdVSxyia@@_o9B`PB8oZIkHj{yFN~d0flG zAEdL>qxewgf=nKV6SA=*yDZVvU1D2!c4`z~pnScOS)Sm#u+gLW80BMkBxU(%K2Gr% z`(QNRUEyJ0j^=r3Cfhr#8^iaJ+?~x#3^L)ofQ6J-g(Euk49}8z)^7l zE4$aKt%EPt=qBQ5&{%=$+b^;A$MHRTsG<9%e=hV;m~-7w=; zqoX7Lk!8c(;6_x%5?Y?zu1XDm5S6g1`&th}Xp<TU|*b;ZecO-3h3v!{uzoXiiE>wcP@oy?EZWl`yNhg7=daoD`*0URupWmYohRhioKP?65n1;R_sep5+>f!=Ts~=(IOxYm&yZI!%Rt5P z8IF1GBWJ`Jo*uwy0+wobz@X-NJ-_%&L|XCe2~t*d2Uq7H#pi7ARK6!$GL<*V&Hat7 znaZb0UCpg#?x}n)Da2)D{!j8{l4AaVOe=`hKglOO(!O}1g=xH05O)nLp4dfPU23y_ zRQP_@LQ^(x5;IQYd-M=Htgd5~E7#)C<+|p%d%lxBNm{ja^I7IJ{wrGylYnB(JrwwbL8+>y7(wURFB(slvG)cBa?x@WULA=Wt0CINL)RbYVU*6o z#!~x|3Gz;#Q()649ca<+e;zkoptB<`MSG%0n{$Fx1zde!hXJQZ6)^vrq{W{HQS-GG z+iNwPAHwjrkmBbbc+=UEF zEwT&z#Fsg1oXJPp7L{6PuWoYaS4W-Hp59l^?A4eNF1z9i`N>+TpNq5nPn~D~w!PT& z9q0pXd$F$b5srR1{FA#m{F)^)f>)>;eYVJ+n#FgDegTt2qgjokF|ly_8hTVghl(_Q z@~FDKi`b@Fe9!iANK0$)PjgFq9V#~0YFhl;>yUTa&r;+UhlBdPx$|)>7F(VlgojD) zy^C>-c&Ad?-kBQQllV-6`}DyavjU_Xwc_6S6J~je?`A7Xj4hw#T=ZPu6Pr@#@uaFr z$3>m(bJ3B?r9|2p*L!$sY38|h9B553ekyEft(>(qS~>E1gmg#xNZ zpu02Kmf3v&xYt{sJML#uj8tSIUS@r@W|VUorWXE^+36oHX*v)mP2DT`a4B?_w)b{NHKn-fT}(cV8Ow z_I=ibr*Cr_L-i5VbCjQ@WTXbQYZ)9{orJoH^+Vm9sAK-|-U^K4=pIMVhV(epGCm+* zou;bQpmvT?a_un1H#%^qZOjFuM?*XC{3{N)UX-t@qklG>m6zmw*@CZ+V=m(sk^ zp`Y&b^)${+)HfUP=E8{f&aFw9`}JkvCtA3ZCWrqVj(oJJ6v0e;i*Pp(B zzTRI6*V6W^Dpu8MEIrz@;_%R@=X>Et|9d6Ol@F#Yx-VrOo`=$XKJ|j11?NeV@jztt z9KOeWJu&*e_LQ_|rCm|0$->(Qu%kM0hTA;eX>SiWy1BW1d2oyr(@Nn>9!zV$FRlG$ zEI4@T3k%Zs7Z)6xwBocxJFH#P@=e$AWLLT#)3sRYv^>1J@R^eyk>EmgIv}l=>%pss zMyj}2xc!Cp!qb;w2qW7o?t0$i{r>g(Nzysv3cRJBrPMUD+g6zYoV{o-^X2a(4(H-D<&!cEA z|BO!Dfa$&L!d(7%ubN7_Xqxa>tIBQVxBqCh?7ull@#DX7z9NR0JL4eM%TCSX-)PUs z@i|*u#P?MqpuUKo9W55?9w(LJz#($oFx8tUwLiXB7R~9DHFVup?W}BLgP!B7r3yo7 zehzzfaZ3v2`g8mdNzr-O!TJ0nU9mZl>RXn~D$8%S4;@iuEuU4a+us`*(!WZ}iim%$K z^Eh|Bzy~O$)Rk?{gD>&@6ah$nOgDAqNjly0vRe!JF)DkWo@FfJ$LrCHnon@B=3(0x z@efN0k>^*7_=^18T%pX*ay3JY_??{jL^DlfA&rZYE8=L1aOO@4QZi)QzqxO(R zlPGLRb16&G@aEncq#ge2y>RD@VjkaiSQE*1*!Yos3egeK{@#ezsBh6BhAAy`nzi3$ zo*(;F_PL2?pFI84$+;)!DG+v99hSARFgqWqc!pW*{9L8Km+iIl0@eDu9e1H(Q!tQ2 zO85`&DR)YI$m8Q<@ol3s>k@EN7OjE@P^dsREE2Iac;t^bk< zG~>&5z~mas_&-u;)Q;<}NOv`nRXf`x7Y@5+zc)lbMPMA)HC=mJ*%;YH!A0V0+E|Ua zHI82Azn0D2b@1K0OG;bSczNIEo%Wm9t#4LdVR;VR_eyQNvS~zq*-q@`XNmJP zqOr$k6iu}Q(dr%iV{+@StgGO=o8%B*+EEVRdFE?mft#nI-TcK#Z zH@2L{L2}bLhGQIYVfz7ZqJAwt3tqyGRp9K-r*y95$M+UnJkK zT(pO+tmMOcVho~S(3(7x#^R66&!u3SOY@yN#&w&WuH^HT`f!#|#YZYfPG^&=_#S3` zxNx>&Y(=eR$a5d{xAyo3U_MlMc8&9b&8{OT=y^9ZAil* zCdgaLcMXxo>0g^hNVjQX)Hj>{#cG!F!M&uhYHNM0tm!i6_*Cjm>n~;4GOzep(qKa; zm-0KMvA6!h7B1t5_m=AX%O(rm{4|eeS#*Em?h;!b_*sNw9Nk-pU0&DVbT8u{Rs;s) zdl|5At?4c=q#v=c6?{)Uvcbzy>hfzWbp?N;1it_R{DSc#JfskzsfcO@U)NiNnMRDz2}+A(L;tNf>mPFNcD z-^A1GZP(*f(f*!wtE4{0UAu=3S%ul_%VYj3ex=gi<5aHZN2-)v!`Ya%e2B8Ti9NLz zt36F?*fqPc76)%&>^dCQ`8>z2!@05EyKYfX5IePwuYE-7>1)l_d0yMCds7B_nY9<5 z+9>F0n)mgeoN_$2lJQB8%1TL-G*{G!+T4>7bC0QsN_;gQ%aO&3hR%!JBm0*R%lW;-eObM^Hb?UBPxg2^Rw?MaU1yO z?kU?h@Gnc(BczGi$S;%nsp%GL*oZ?;sjjz}dn4bwhg69+sWm!p#$&2Ctm2!~Wp7$< zv#8hjo*{^mB&N}M%X(RFlN&E|w6WaR_#WY?P0}2yQR?loXoJ_^a?zo`vuRpiha-(v z5QCR(e2q`g2ZsyWFyD{IJHL93*DD^D8gVdRpDWs=ovhT$q7gz6o2e28Nk zjla1E9;way$sJFL?_lg&&g7^@|)$6xy{t$NcM9&swOdFW^I3hn7zUG`

X@X0CD0VS9G*gOr)Su(n-%6w&w= z|7?$YZPnm@h2zmyr*CV6HFe`#{CgBdGfQ6lreZ6<&(m_G-YHe`IxDQ_XUR3bKJNGT znp&-IHf_+UtZURMM|_cboOt*1R_oT!t95VQ^JD6_?``3JV*}sj9g#FlJ2QVt>cCm* zm(fzMiY-?y>7HMzdx&xp_p{%sgMKPyPJPF zTCQQq=c@E6Tv=Ks9`2b2PE?xGyWmyG@4s-0#laes@9+c3Du%q{+uNh%f4#%!+4fEm z-z%%DTR?BqmD*#bDgxH*Dl;n{MBY zsz_LLo0EdwU#|NbKRUuZ%~R*j%gvxS_9r*5y6l&V_tSBq+Zy4i%bV({b4_P+|Hene zxTkpP>T+{4YSr<^Rd}5u_g-8_nj)ek6)`8{52>c&?=)}=jLU_m&N8{oT79ad39c!h z9l`nRYH=7&R(_h_qms+-Zs6{J_!~ZbUY%T@rM-=mG86lALCY7 zd0nYOA=FuQ5N_lL&2$QV?{96q-~Tg-tS;JmYJbog4yl#LUyY2od1`aIBQ?O9@4lhT z&%3F-_`~%(Vox@*Pg(N2eDD85*OS0Cbu|B8LK2dP3Pwc~HIe`tE25};UKk)DfEV>_ z)z)ZQYY!{7wYNanC@{FTIz8*n_uCWQ@BIOaBte}s+?r{;zx~OqIqqMG4ssm<@fG?5iCG#x?!W$6vtJ zbL_k5$QP<{LXRQ<1@2cx3O$Sn#qI~0j0r2T&qovYs|w&8CqO^$S1mO8%m&s9_R|vK z?}ef7(?d2nfM+(C{x!Yf`rkgo6yhrvT9S(`9InEqm*+VxC}%ErLoQ_D|h!Zr2N{ z-v&38HK!dZq7+b2?F*iQ*6)&KYJqHjs2yQd!*tTBvgcv?bLly!)*W?&4GV04@ISnH z!9FKbPs}_fzAzcgbHUs;$9)VOcxt`xWf#g`M+v)Sli1hM%H6U7nk5Y_^`zGgTU-1Z z&?OE1exy7KwyO>ET6~$N`>FV{LrXQJi6OWTFoyd)Z=qjy%OZ#GGr#VyOe;o}6StQ9 z*mTTe^6uEsv*uJnL3m=xO~eG1ftwIoQlc8zy+LQzVDlnheuEx+{(wDfelYs1L=`R} zG~SVhYD-kzv0av26mS}dOXqDZ{<5ZkrX&*f(y0}8eiuW{!LA7 zLyhFbazfPVBF4iw4z?8pnyd8}b8NpR(%*ORPXYg}rAxt-`y#wj>=Bg1pzU*|=fEHt zkmE~L?^Nc3T&$69w}Rs(fuuPPzq}^Q5;wAR{@>=q#AaMn1#XU55*ZxvH}PFo)ouQJ zh5MH;RTBjG$OoJ6T$JF3<2HQ23Y6=7SE+FCbgSNHqf8fIkTO~>#%Xs7;zx0Yth6jG z*&Rw9AIdpK&^169Ejx=+4ygtT6|=uZuN_h)m^?qYqb z-z&Uxkc9URLa|@S#!#W*sz9%`ewa(qmtTNI5GBn2&`)2;Vog~&Sw5#k5!|L5h)7Sc z;uX>7iS1Wxb&rJmunSqBIst!ENycEOO>BTmyIdgYd6a=ktN;xyEaqw*6POs|0BvW! zqPJG#%V$!2`5t|^7HkH_KUn?wo<{twh1@hJ8pt?K2WpO4eWrXvPp2d^IPJ_-E1ZIF zW$Aa7dOS`P#?)PsJlZn-$n+1<_e2}2NyM{St4Tj%%-$K0jc*k1V7BoiPEii-))D2{ zAx>M$vlL~~6^b&`U2Yorp z^?4csJK~o))M>NLrTAH|QT)8J%kJh`do9LQO~fZ6s~&93gP$pd`T-s5o7>g*4~bV? zW&-C{kTTzfYnSJ_CBaN{=<>X<8>}u5?kix7%nc@ze+K6}L#vqPZ;ATZocY1hX4vxw z?{ParBbmJ@9>jc(L@v=UNkBo#p%rVfgjVK=_7~ulH3uxm^)K!v=6+<^+oeB8_fezC zM#{A>1S`IY);r%Yh;EmNV9Zx2i5X_TCYt|_px-Vf+Iv_P+8qlxyZxNAM-;5vLCHNQ zf(_U?bmg$>Kcjuec^`;|dH01WO$=U`onrerQI5Q46jQ!_3vjCa+?qSeCq&GO^64k@ zew~;IZk?G+j-ZME1$7Tz#|!o6(3bzI!UbJQ(c%BXVbq`4_kXJJUZ=k_-nPOb|0QEw z7|HrFPnW12pu^5wasW;LpXzykVYlahsub3wd2NXY|1-ZCXO1JeJ)dN9baG#G(_{^~*k*!SCH==fAYU*$%$`%B>qXz6{ z(Y=Y8J8?Ifdm>c>S59X0tEjq6HCE6Nivr43u@SW}*XMt~AZ6(lb#aJ3+)>^V0)HOAJ}D3o+Fu90-Rp(_y`5IAj#K`6FLwJ_We?a+rG!BPcF z6s0PVnXiu%-2}l6B@R}p_VpiJDz{&3S+-evXOY&bcfbu^LZ#2F3G3tz(bs)c|I0vR zuU44?qplRgbvjh)TB91Ebq(0BmtrqK0mX~>Xk5iU8lAu>ePSSyELXBzw_4z`#$`|+ zErm_xmU^arY4kyjDyD~7oP?)T`28TCnR)th(WO~(2eeXN11cdy9Qvb1^_)PF0G9cx zz5+!OdjE)O6y{f$sNbXi9Z`kh13=i1?Zpx-&P0-XKUvZI z+K~L>cSn*1=q`w1@hRk43rnu|Q;e5zm;E|mn;H8KIS-j#iT?AD_>|ioXn+I5?s^$5 zsrTZN`ETymPlnBinHf)uF7NJ?)C!EZ3!$TMXtzri7bB{8f(>mKP&<)zTE7$AkL^^E z%uDby^shM-y?RU)*%yKxEyoQR7fll2!75#EdHMBp0B>69e1df=7 z>ld8j1_>BK)L^IA=yNFHxat*wYb^ToIB3-%afjgk22^`oHHgEG+QFK)K{r%@#3xh* zY$e)qLX{-b7Jw2nfh7NYLX{(6qR<;BRgn@XPZC`xRW^aA7aDL1rjDVfd-5q&Cw5>p zw5J!f2=&$$;rSF#$j$YVxSREi{CO)wsX{TTN62y-&aY+`{qMBuyFtgZG`3S`D=(BU zyzPPosgeE#~mtTBV=*6^{mrY zo#6iFj4D;oqjqe(L}mz|<-9Km{`LBY=CGy5F2x^3;pbGt!_x|^Y4NfaCNF*CBxC4% z!YkHA!Kl`W)h};j-+;a-=NzazNQ!GN>UJJfH8guRN;t0yr5}o?(A@K?WK6{DYM|`y z^I&-B#ZVLu6n;T?N+E~} zeSv%KHP!1Zt|v?ZC>O4)Zm`0Pee==b8>)UG8Ts>^^%8}$sBwiz=gZjlto!y2)f`eB zW?=!ESO;n$KL*uxs=lniEOh_$qbiyWBduo_$_t)n2f|^0PZo+LCu$#x`bp)G)@NzN zu;xk@qpyAf&E61%BI;EW1*_Mh%z9Nu_>jB^>)mnc$_VSg`28u{b!xDYUOHY~>B~5s zi>}tI>V%r{&8Ylm)dZnt>z^q2mTHY8b{!tvuTjx0)wC`!40sUyTZItEn!3&Sz~T_|wh%+i1_Eok&bOF+p%kT-vadfihs3-eokLcM-hC5MQx)=>w} zs@|b+CNd=(5r3vQIuIkC(uOe!qP zQ~pB#X;j@6=FdBco@i2q3G=reN2yJ!QA6^t*JP(0VzOsBn0QfzX1lmt^8G63Pf=jo z{DW04iWK_tORJO$h7shGJLY{&^h(*=1RA2?Dee)yliYgP%dhX1RBV&mMF}EZS}GhL zn;`Hs?E8fg5obWMP z`3Fc>j}+DZp?bC}^CGcE1jU;*T{I?}Suryot5mFxW)zHPg!dKYN;b!**f$&nK2SY7!1U>nBLFAamtof5)8LKD zSuGC6k#0>&!>ooE#q1h5%B^~!D&QW#^1{TvZ(>_+qaXfKB?@Cpe?n0YRq>|Ses$2zya=s) zSyLC%-Po2Jn9x*LHuQ%7C`F^G_+tq9%${X%)UaWWf#~xEaEO)!tKg`z25<-lRq3{P*!Qn0#r!1))OuVOW6 z`=%c|#hDeac5FJMKb+#$KHjvV;j%khuM?;(*4(_)xEuJK6dOFF6!sS{@en2x?D5&v z&<;eEhGNhBQdWwwkEy2E!&PjCLcTwx4S$~@cpmhqi!Vddjn(Zz-#$`Jh{?(^zU&r= z^oA#muYuF0+50RE60ElIASUo2iTA)D?V(MWZ=i`Ss_-6~IsYsp+Ux$HMKzTb7`hgm zjXWuInJ%O4Y~*Nx@&vlZMxK`t-clS!hXs+!DddB3v#{mF`aJ9;LC)U?CvQBpE-qkr z;)~#p)yST_h)IzLn=G&5pG{i7;L+NFo)AX9Ok41Nf<6{TMw$pbR}pRj)IEaTaGIf| zU4{NOo+fR4|E<3bL)ZVm4W__3YdZ5;%Nfwk;!9gNPk%1N2X}0RM7Z1BxqWRDrJS{d z@7NmHq=F8XuJSy9PdWgQwFf}!>kjhu^V;fnN-42c2{79i7f_q$s@1fV<{Xs*P$H~D z5i4IraTZ+(h#VCPbC&Y1(^9iKyQ&*7y|AigHByTr-wJ_D+Do~`z8Wl%SG)I%BJHf8 zF$;~6MD~_hzM}1!_aK8L5>djtwxUOp$Y}au{s=u07&(P{p4-1d9|lH#AOV4%^k+&> z)Xys$Agq0DCNkWS^$@xxVaVu}^@sOgtn^PI{d1K5xkLYSxZ4TD$Z}nvM~z(`QFjK5Ca2-Ik|JL63fr^&J2Xbds8B+fsy40e@vj zYX1^OTK@8R1Pf^Q^vQ6K7T~M>us_n)$#w{1l`o*%b+VPC3DpL*p^*Fpc(y*uz9ZX6g-`|B#Zx7H;HZ<$x3 zzc0Y0z8&i?73d4D=!)ruGRAYgkgHxcgi_M{u~OBZl6Cd6kwQhuXcYc4IHuMPd#BhQ z;z9xo?VWkJaBv#e7z>8@cLZWf$C82tC@1jlLm*H1rJ0$TU8Y}gpWKeGxt@XrDX zrKSY@{5%4m=U$333ggiRF&;*Ty(N217;Ef|-n<3#lr*dPOUWY)7e`R!^INjG0gA50 z_5?aw-x4gQ`A4fp-#S``xamlCTQ)DAz;Vg^aQs|opFoSk#4!9mfr1f6Ynu;SftHHb zyCTpPGqEmos0a5&H}gn9=HZrP7LW;O24pm~CiFol7c18cYs;x5Ir*q8luPdE z1>y3~M!b3y-jf>(aG&l8tz@8OJ-NjKrXM=ogG)i`Fm9~e)1wU{Z7UeP6UHr*YdW`O zRQ`>T$VY51ZcL~_iZeDO;|4K~-&jXOW+s}}i_<|zHumD;pj#(EX<3ct)dBN=^gy zyQsJ!tOku&5#(N1af2XntBMB zp2vVzMR5ZJaNzwaic{c@L~+rq0n7I_0;G`6lHZCH^mYsv#qL8}W4PX`{KPE%%_0hbxlwH2kbD_p5@8v3 z(nV8U*U_~Yt_NV)6vOp{Ki!9LZ>R}*%(a+Z+6j}`*toV73l=Z2!Kh>imkUfdK9)=9 zPpg%|ko_&U>p^>0*&LFB#V#EQZz=jXmWx&rObrSw>IZ@-4FG{9gqBD_+M~Yc=U6Tk zuo*g(8`hH!RtdBXC9yQ2ZRex+hH{N`C|%ppo5Q#W==a89WKy0U#--3K%?1=62b0N# z=EVV@n^A5Y%y2V06UW)HNEyzJ17=0TxhXJ->fukc=V{zcDk>|RTScXUibJ*CN@hYH zdS(Qd5KL0Rv4Ni--O(o_xCr_C_k)2753Z7q31`*xF}{VoBe))&&Ok&C|2lFPiAHiU z5)bB5^FlOwBsWO@#(l9z-Ei9`a}QZz?Ca0DEg9TWh=b}Jg8qDx`wx2>4V}tWOB5JQb2EB0mD@o-48NnI zY237EicAhL8Au83BV&*IWJSeNLl~)jgh)-#9TYJg*4681>2xlXo#%E;=e`p5cj4}O zbhsXmm!GFejyD-Cc#7K?Mm`jyF*g$d`{+_df0r-TILF=XY3>1_y<-dtp2O{tkb;`d zZqFQ8Cm>mhVxQ&a(`1j=z2RBzAPYU3V&En!g9+i4#rC0inh?ni8^>h4R3Vb*>5slK zaEY|G_Ye}#=iX&YQPzBJY9uYtrPw|SDq9Fvu)RyRO4_O`I-@`5bCYOw^Dg(q1>9^F zdR}PcRATlH*#W2mi`vopa0B>!B z6M3xr?2Fv@tePQ1@*18_TatMp-HeB!uHXGXFn1$T!jMU}J)!P~mpL~pp|z&E_b%qL z*pU19f*x zLdrfHNRLXYX7$)qM*AxCdI^PXSVB(bax5KSCL@+}+{rDiw!@EtC4L=G&gju#Evz(rwMgxZE9 z0a8{_eBu<#zK(*6)^w{wVeCDE1?5kz8Hduo%7l9`~Yz zu(J6S`uRO>0{w8EMWf&6#zx#62jR5@%`=SRM#icuDX=ol-Af8au#59(r!{BLruR8j z=Xl_Dr?|$IrHAvs3$0(t4ea!I(utK^w24HCt#n~aZ)ZT|qwrK56?tj5y6|$iVCpLSXrg&Oj|!dwhwn zb^^p`z>>(dI)0ZKtinXev~kbY*0S*!ybG_8hSRNyA#lfi3SYrZdCr&d`OE%vtmXxu zCIHAhk78GG{Y+FWOdbG%^NHwb{pFf;53s?kitX%hTxS~L8BA|#?e)F{>w3euk;$p} zn5X_nY748Q;9Q;YC4f7CF*xlKu*45wjO!aACORgPcU8QuFL=E+U5_Y;Pk~=zu{SHF zWP}wQqHyQDJJ9Ua+=nJ}xQ~I$3J`ljxO{R-@;e(P_lZeQ!FAMtQB%Ctu{)yGeESdj zm-;0Y4f{Of6EeUGT+g8Oc|HjMhXMS%pU;!K%%}M?j_q<<9>I2_=+Jbs+aqroW&l$*d2OO?A(4qy5% z{ma~;1aW<`MxSuR9g25M_BF3CQC2~<;FKxh*wQCTo(GG9rlu}R@fU)EGMu&e2{+7e zr@g-CA|~owLak5p<78^pi|u)FiGeW>z#R;%vB@ok+TsSi<@^YU`eWyjyb@u}(nUsL zvqPMU!+C}72xVSivM&)DQO+|ZVY|)rTJeRbvtYC70FH=ho(0P1-e5EYB!WJz16gC&BXSj4lvDNG6!N5+97b3w=*o@>z{$JUu0^SYk9~B9EdS1nonZ@ z!2@Wv=1dz9?@3zJ3Po{A?+Ia~gQ34Yr`pOHj`NLepm~O45jy_Y3BIvSe61tH_#DqM z$T2|=t$dcE=5c0XLsA(qhXF%Nu!Lhg%e(4CWfX|Hl5dVDwz+~@CGbsczEwJOX~g$2 z7WXdv1cgQlH*RmHUsgL7G2-h{-%Y+a_593lXP?0w2MeGglvcBDn2%PtaGaKPr=Qxjy=Ww7VB!Jdn4$G}M8+mAloJhqS z14}e3pX)g+=R~q?G#mU<3{E(B|BAAloZ3YARKG1TWJ^_eBEDJJaxy#G8u+|E#$w!B z&kT;HoUGp-UWr*X(Brfh#)KakSTtXc^R4=;WweB32evZaQiZoq_?}|1zHW2n1XO;Ck@bilpg;H&=lzEr@SF~ z7sT`!%oA~YmbO3mlplM6|K5fPxgDFQl3{Uemy0HRWn4F%m0OS7{ls;BjDA@MJIs6{ z!&X3~6bQJ!+kxnJW1m~i-Rcr!Td?r9>RByW0jazLJG1zitqa*)V9+bPyxWGiB1E?3 z7&#RSa+rL9FDLnH&c>}QpFzL8zmEHUf!5?V{SwU&HJTrR0o@x*6s`e&=|+nxys!xn z8pTZ@oC&(uVP``d%4%(7r8^o2ftGj@ss)uamsz2<_*W}et^XHHU=j0N$%vf-u#z@` zYkHh$C%^Ub#;I*<;AYNWRB_V(i#Z9FI*F`q@i@NW58FU9$Ni;T$K^eSGZE|C!|)#Q z=X#C=2GZJ^13_>D%XGP?HSypq?Ut>zA(er_G~K)U^+*WxEn&KpjA#->*)XzAJhF;` zuLq0vwTWFKHqDqm<~ObSH9DiDiOJJvL6m|fra;F+M3e@Idz$edy5wl8*rV}pNxK`K z3=L1VNvzr76|L*0#ce=blR(*kfqAcnopjrSFliZKp*}QAzdTo3gWt@76f=5z6W4Dr zS;V~T^C?X@2picQC@Qmb&-1^%<Gj%%*jQRU>=7jI%Zmidcj+n_Wo6Hf)G&%uG4CZ69Vyy%9Mf;tXv$%?6!7??G&bx`K2tqQZb!X z_KC__DL)X(^e@^CCMeUvdx>m*UX=c-6bxsPSrpnWhS8)!ukj8dqEfiCW+isefm>K` z(Fyaix}il*sOLw(@H{fOIOSrn4TXd6O8kNn?Ll}V9E?{|%)Av4odUptoqZmw$Dy^2 zp+6BjNo8@($`8%X?(vLMEGpc){%Vp)@=@-|)mO_OlpacTP?P_UC*5z2ra zOd)D;fhwaA1#aWUVDDF;Qn4ftpMR;D!sP0yl@O0TC&uA)ND8yGa*L$UXx$_b?vgTR zt=ptLO{Sp_wsC{;9Wh1>SI1^Hl0sGoj9!S!A=8B4#wbk5!{a3n2xXMTww2Bv@ysQ7 z|DsRsjMbMaE{||a7)5g^4h=FNzr>`4I7G0l;QoTHZ6*0zEP-AU3KZ(|@OvDIA=y#l zJU>kPN^v!A{vELHkraO9=qxclcS#`MFp?QmjxOg}#VaaKR44~rSjjgP-Uw`h_l5nx zUQuy5kJX*1$Qp4TZQITb2-!{93pa*GPqGSK+0ONSYSQ?ys?>?JZ=;xc^X!;H=AzTNp!o^nD zom?mwzdvIb4O5O`6hiy^c5r=6ueUVA>>m*4##j2-jzwIZrH!*x3Br6M;Q$LxbRcDl(SL0hN9)ly;)izz*KqO~qn8+$0z$O57O7ZqvxDyP|R|>YN#4SI=FsuAFb*LX2> z+8;1wo8#EK8i!t%OO{0f$Ms};k(2_#c0@nY1{LSniCGimoiqaX*S(XB@`<9^Ia%q( zp6HjI+zb<$aGD;Xpfdqam#&q`?dgounz#0FL4tK?3XgHOV*3fr3h+KTz-%~vqy{|E zSXRHLp5}TwsqH29PlQ*{rPE56gq%&lPWid}jFnsLrW;~!5|!8XwHMGOjS#NK*6|W_ zHr|XlXB9GFLY+8k8@8&+i zrsTq%0jtzGPyR?-m5Ve2$^?o()t0BrhNhh5Tkzg5u?_@bqGFW;hO^imlL)lCsV5-N zm|#S^fi~li9C!gcL;o7Ut z7&UU^>UdZug^~I^^m8GnG{Hyq9(~>!z577#q!Pyi0XRA56}RK5$u=-fBt3G~yF~y@ zj2A1>aIl*i*=Lng@+MohS?0jp=az_IKGn3q`Ed9E=4!HY&Pa_sw>OjEaZ7BPgmMZ+ zQ|Dd}2Q{1Rnf@tPtg=?%KD4fgTQE5*=c5|FKb?dFCNf*Jmo$FPAiGqt7+iEjzwp3T z)3Qttk>m%7m#)j7bl?%{Vn=n4|iP(lU{8X?vkuV3yZk~fjJ88 zF6I_!Lh)JYo%6&ki2B=te0J=$j2K_+P+JDypiD4SM_IsoP;D7iH5B$`v?aqql>P}f zFcbu5cBFXqUi(Jh#xi5RG$6cEIl#8co%0DNU_;i_7_Bm9rnUR{N#EnwoMxb{pK_^D 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

%8^A|TbXXJTH)d~>m>fayFVob4Bi>thgUO@* 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

o(-H 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

Vv~ppLn^?FZ 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�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 >h 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�PoiUo0mrW4 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

iRsq1A5Sr2~W+ap?C>2 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,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe你们,米思齐3wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/main.bundle.2b743a90.js b/boards/default/micropython_esp32c5/main.bundle.9760b8e6.js similarity index 78% rename from boards/default/micropython_esp32c5/main.bundle.2b743a90.js rename to boards/default/micropython_esp32c5/main.bundle.9760b8e6.js index 258e8105..116897af 100644 --- a/boards/default/micropython_esp32c5/main.bundle.2b743a90.js +++ b/boards/default/micropython_esp32c5/main.bundle.9760b8e6.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Se{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},He={init:function(){this.setColour(xe),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ke={init:function(){this.setColour(xe),this.appendValueInput("LIST").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Re.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},We={init:function(){this.setColour(xe),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Re.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Re.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Ke={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Je={init:function(){this.setColour(xe);var e=new Re.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};We.OPERATORS=[[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Je.OPERATORS=[[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},je={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$e={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},et={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},tt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},it={init:function(){this.jsonInit({message0:Re.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xe,tooltip:Re.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Re.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},nt={init:function(){this.setColour(xe),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_STAT),this.setOutput(!0)}},st={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_t={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ot={init:function(){this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Re.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Re.FieldDropdown([[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xe),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},at={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ut={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},rt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_GET_UNIQUE_IDEN)}},lt={init:function(){this.setColour(xe),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Re.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},dt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},It=230;Re.FieldTextInput.math_number_validator=function(e){return String(e)},Re.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Tt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},Mt={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},ht={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},mt={init:function(){this.setColour(It),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Et={init:function(){this.setColour(It),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Ot={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Re.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Rt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:Re.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Re.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Re.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Re.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Re.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Re.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Re.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},ct={init:function(){var e=[[Re.Msg.MATH_BIN,"bin"],[Re.Msg.MATH_OCT,"oct"],[Re.Msg.MATH_HEX,"hex"]];this.setColour(It),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:Re.Msg.MATH_DEC_TOOLTIP_BIN,oct:Re.Msg.MATH_DEC_TOOLTIP_OCT,hex:Re.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},gt={init:function(){var e=[[Re.Msg.LANG_MATH_TO_ROUND,"round"],[Re.Msg.LANG_MATH_TO_CEIL,"ceil"],[Re.Msg.LANG_MATH_TO_FLOOR,"floor"],[Re.Msg.MATH_ABS,"fabs"],[Re.Msg.MATH_SQRT,"sqrt"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:Re.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Re.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Re.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Re.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Re.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Re.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Ct={init:function(){var e=[[Re.Msg.MIXLY_MAX,"max"],[Re.Msg.MIXLY_MIN,"min"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Re.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:Re.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Re.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},St={init:function(){var e=[[Re.Msg.MATH_TWO,"two"],[Re.Msg.MATH_EIGHT,"eight"],[Re.Msg.MATH_TEN,"ten"],[Re.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(It),this.appendDummyInput("").appendField(Re.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Re.FieldDropdown(e),"OP").appendField(Re.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MATH_ZHW).appendField(new Re.FieldDropdown(e),"OP2").appendField(Re.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:Re.Msg.MATH_Before_two,eight:Re.Msg.MATH_Before_eight,ten:Re.Msg.MATH_Before_ten,sixteen:Re.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:Re.Msg.MATH_Behind_two,eight:Re.Msg.MATH_Behind_eight,ten:Re.Msg.MATH_Behind_ten,sixteen:Re.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},At={init:function(){var e=[[Re.Msg.LANG_MATH_INT,"int"],[Re.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(It),this.setOutput(!0,Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Re.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:Re.Msg.LANG_MATH_INT,float:Re.Msg.LANG_MATH_FLOAT_RANDOM};return Re.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Lt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_CONSTRAIN_TOOLTIP)}},Nt={init:function(){this.setColour(It),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Re.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Re.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},ft={init:function(){this.setColour(It),this.appendValueInput("NUM").setCheck(Number).appendField(Re.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ft={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MATH_ROUND).appendField(Re.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Re.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"],[Re.Msg.MIXLY_TO_BITES,"b"],[Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_INT,"bti"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Re.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Yt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Re.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},vt=Nt,Xt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},yt={init:function(){this.setColour(It),this.itemCount_=1,this.setMutator(new Re.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Re.Msg.MIXLY_PRODUCT+Re.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Re.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Re.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const wt={init:function(){this.setColour(Vt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Re.FieldTextInput("",Re.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Re.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Re.FieldImage(t,7,12,'"')}},Ht={init:function(){this.setColour(Vt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Re.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Wt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String).appendField(Re.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Jt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qt={init:function(){this.WHERE_OPTIONS=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.TEXT_GET_INDEX_RANDOM+1+Re.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.LISTS_GET_INDEX_GET,"MODE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Re.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Re.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Re.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:Re.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Re.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Re.Msg.TEXT_GET_INDEX_RANDOM};return Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+Re.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Re.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Re.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},zt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.LISTS_GET_INDEX_FROM_START+"n"+Re.Msg.TEXT_CHARAT2)}},qt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Re.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Re.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},jt={init:function(){this.WHERE_OPTIONS_1=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Re.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Re.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new Re.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$t={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Re.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Zt={init:function(){var e=[[Re.Msg.MIXLY_EQUALS,"==="],[Re.Msg.MIXLY_STARTSWITH,"startswith"],[Re.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Re.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_COMPARETO_HELP)}},ti={init:function(){var e=[[Re.Msg.TEXT_UPPER,"upper"],[Re.Msg.TEXT_TITLE,"title"],[Re.Msg.TEXT_CAPITALIZE,"capitalize"],[Re.Msg.TEXT_SWAPCASE,"swapcase"],[Re.Msg.TEXT_LOWER,"lower"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:Re.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Re.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Re.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Re.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Re.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},ii={init:function(){var e=[[Re.Msg.TEXT_LJUST,"ljust"],[Re.Msg.TEXT_CENTER,"center"],[Re.Msg.TEXT_RJUST,"rjust"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Re.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Re.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Re.Msg.MIXLY_MID+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Re.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Re.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Vt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Re.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Re.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var e=[[Re.Msg.TEXT_TRIM_BOTH,"strip"],[Re.Msg.TEXT_TRIM_LEFT,"lstrip"],[Re.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Vt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Re.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:Re.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Re.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Re.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ai={init:function(){this.setColour(Vt),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Re.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_KEYS),this.setTooltip(Re.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Re.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Re.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MID),this.setTooltip(Re.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_CLEAR),this.setTooltip(Re.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_ITEMS),this.setTooltip(Re.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_VALUES),this.setTooltip(Re.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LENGTH),this.setTooltip(Re.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_DELDICT),this.setTooltip(Re.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Re.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Re.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Re.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Re.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Re.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Re.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setTooltip(Re.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Re.FieldLabel(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Re.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var e=Re.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Re.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Re.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},fn={init:function(){var e=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Re.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var e=[[Re.Msg.LOGIC_OPERATION_AND,"AND"],[Re.Msg.LOGIC_OPERATION_OR,"OR"],[Re.Msg.LOGIC_OPERATION_NOR,"NOR"],[Re.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:Re.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Re.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Re.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Re.Msg.LOGIC_NEGATE_TOOLTIP)}},Yn={init:function(){var e=[[Re.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Re.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Re.FieldDropdown(e),"BOOL"),this.setTooltip(Re.Msg.LOGIC_BOOLEAN_TOOLTIP)}},vn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Re.Msg.LOGIC_NULL),this.setTooltip(Re.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Re.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Re.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var e=[[Re.Msg.TEXT_APPEND_TO,"in"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Re.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Re.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.IN)}},bn={init:function(){var e=[[Re.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Re.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Re.Msg.MIXLY_ADD,"a"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_ADD,"ab"],[Re.Msg.MIXLY_R_W,"r+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_R_W,"rb+"],[Re.Msg.MIXLY_W_R,"w+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_W_R,"wb+"],[Re.Msg.MIXLY_A_R,"a+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXPY_TEXT_ENCODE).appendField(new Re.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.HTML_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ts={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Re.Msg.MIXLY_ESP32_SET+{mkdir:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Re.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.HTML_FILE,"isfile"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Re.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Re.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var e=Re.Procedures.findLegalName("",this),t=new Re.FieldTextInput(e,Re.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Re.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Re.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Re.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Re.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Re.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Re.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Re.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Re.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Re.Events.enable()}},mutationToDom:function(e){var t=Re.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_FORM_CONTENT).appendField(new Re.FieldDropdown([[Re.Msg.HTML_TEXT,"text"],[Re.Msg.HTML_EMAIL,"email"],[Re.Msg.HTML_NUMBER,"number"],[Re.Msg.HTML_PASSWORD,"password"],[Re.Msg.HTML_CHECKBOX,"checkbox"],[Re.Msg.HTML_RADIOBUTTON,"radiobutton"],[Re.Msg.HTML_BUTTON,"button"],[Re.Msg.HTML_COLOUR,"colour"],[Re.Msg.HTML_DATE,"date"],[Re.Msg.HTML_LOCALTIME,"local time"],[Re.Msg.HTML_FILE,"file"],[Re.Msg.HTML_HIDDEN,"hidden"],[Re.Msg.HTML_IMAGE,"image"],[Re.Msg.HTML_MONTH,"month"],[Re.Msg.HTML_RANGE,"range"],[Re.Msg.HTML_RESET,"reset"],[Re.Msg.HTML_SEARCH,"search"],[Re.Msg.HTML_SUBMIT,"submit"],[Re.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Re.Msg.HTML_TIME,"time"],[Re.Msg.HTML_URL,"url"],[Re.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Re.Msg.HTML_NAME).appendField(new Re.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Re.Msg.HTML_VALUE).appendField(new Re.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_TEXT).appendField(new Re.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Re.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Re.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Re.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Re.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Re.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},Re.isNumber(n)&&Re.isNumber(s)&&Re.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const ra=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},da=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ia=function(e,t){return["None",t.ORDER_ATOMIC]},Ta=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ma=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ea=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Oa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},ga=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},Sa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Aa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},La=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},fa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Pa=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ya=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Va=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ua=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),Re.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Cu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Du=function(e,t){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(e){return e.getFieldValue("TEXT")+"\n"},Yu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},vu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},bu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},Gu.scrubNakedValue=function(e){return e+"\n"},Gu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Gu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Re.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Re.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETTING+Re.Msg.blockpy_turtle_rotate+Re.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Re.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Re.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Re.Msg.MOTOR_N,"ms32006.MOT_N"],[Re.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Re.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Re.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["SYN6288"+Re.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Re.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_WHETHER).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_STOPPED,"0"],[Re.Msg.MIXLY_PLAYING,"1"],[Re.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_PLAY,"1"],[Re.Msg.MIXLY_MP3_PAUSE,"2"],[Re.Msg.MIXLY_STOP,"3"],[Re.Msg.MIXLY_MP3_PREV,"4"],[Re.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Re.Msg.MIXLY_MP3_VOL+Re.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Re.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Re.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Re.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Re.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Re.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Re.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LISTS_SET_INDEX_SET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Re.Msg.MIXLY_SPEED,"[1]"],[Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Re.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Re.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Re.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SERVO+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MOTOR+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr="#6C9858",jr={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_ON,"1"],[Re.Msg.MIXLY_ESP32_OFF,"0"],[Re.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},el={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},tl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LIGHT_RED,"1"],[Re.Msg.MIXLY_LIGHT_GREEN,"2"],[Re.Msg.MIXLY_LIGHT_BLUE,"3"],[Re.Msg.MIXLY_LIGHT_YELLOW,"4"],[Re.Msg.MIXLY_LIGHT_CYAN,"5"],[Re.Msg.MIXLY_LIGHT_PURPLE,"6"],[Re.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(qr),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(qr),this.appendDummyInput().appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"1"],[Re.Msg.TEXT_TRIM_RIGHT,"2"],[Re.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"0"],[Re.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_RECORD_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.MIXLY_ALL+Re.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Re.Msg.MIXLY_RELEASE).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SPECIAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Re.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Re.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Re.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Re.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Re.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Re.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Re.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Re.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GENERAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(qr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Re.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Re.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},jm={init:function(){this.jsonInit({colour:Gm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Re.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Re.Msg.MIXLY_MICROBIT_Built_in_image})}},$m={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Zm={init:function(){this.setColour(Gm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(Zm.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"add"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},eE={init:function(){this.setColour(Gm),this.appendValueInput("A").setCheck("esp32_image").appendField(Re.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},tE={init:function(){this.setColour(Gm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(tE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Re.Msg.MIXLY_UP,shift_down:Re.Msg.MIXLY_DOWN,shift_left:Re.Msg.MIXLY_LEFT,shift_right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"shift_up"],[Re.Msg.MIXLY_DOWN,"shift_down"],[Re.Msg.MIXLY_LEFT,"shift_left"],[Re.Msg.MIXLY_RIGHT,"shift_right"]]},iE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},nE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},sE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_E={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},oE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Clear_display)}},pE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_SHOW+Re.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(uE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},rE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},TE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.OLED_SET_FONT).appendField(new Re.FieldDropdown(TE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Re.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ME={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},hE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},mE={init:function(){this.setColour(Gm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Re.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},OE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},RE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},gE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},CE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},SE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.mpython_display_hline_1,"1"],[Re.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(AE.IMAGES),"path"),this.setColour(Gm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},LE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(NE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},DE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},fE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},PE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Re.FieldDropdown(PE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Re.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Re.Msg.CLOCKWISE+"90"+Re.Msg.blockpy_setheading_degree,"1"],[Re.Msg.CLOCKWISE+"180"+Re.Msg.blockpy_setheading_degree,"2"],[Re.Msg.CLOCKWISE+"270"+Re.Msg.blockpy_setheading_degree,"3"]]},YE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(vE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},XE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Re.Msg.MIXLY_AipImageClassify_Image+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},xE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},BE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},GE={init:function(){this.jsonInit({colour:Gm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},HE={init:function(){this.setColour(Gm),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kE={init:function(){this.setColour(Gm),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Re.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Re.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Re.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Re.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},qE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},jE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},$E={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZE={init:function(){this.setColour(Gm),this.appendValueInput("direct").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ERROR_RATE).appendField(new Re.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},iO={init:function(){Hm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){Jm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){tE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){sE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){_E.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO=180,uO={init:function(){this.setColour(aO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Re.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(uO.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"]]},rO={init:function(){this.setColour(aO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(rO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"+"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},lO={init:function(){this.setColour(aO),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Re.FieldDropdown(lO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE+{height:Re.Msg.MIXLY_HEIGHT,width:Re.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[Re.Msg.MIXLY_HEIGHT,"height"],[Re.Msg.MIXLY_WIDTH,"width"]]},dO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RECT).appendField(new Re.FieldDropdown(dO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_OLED_RECT)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},IO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Re.FieldDropdown(IO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},TO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Re.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO="#777777",hO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("from ").appendField(new Re.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Re.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("import ").appendField(new Re.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField(new Re.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_R={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},oR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PROJECT).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},rR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.appendDummyInput().appendField(Re.Msg.MIXLY_Service_quality_display).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_AT_MOST_ONCE,"0"],[Re.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},dR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},hR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},mR={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},ER={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},OR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},RR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Re.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},cR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+Re.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CR={init:function(){this.VISITOR_ID=ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour($O),this.appendDummyInput("").appendField(new Re.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},SR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},AR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Re.Msg.MIXLY_REQUESTS_GET).appendField(Re.Msg.MIXLY_GET_CURRENT_TIME).appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Re.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Re.Msg.MQTT_Topic).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR=ZO,FR=eR,PR=tR,YR=iR,vR=sR,XR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yR=XR,bR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},BR={init:function(){this.setColour($O),this.appendDummyInput().appendField("Ollama "+Re.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Re.inputs.Align.RIGHT).appendField(`MixIO ${Re.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR=225,QR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Re.Msg.MIXLY_NETWORK_MODE).appendField(new Re.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},zR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Re.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=Re.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Re.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Re.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},qR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Re.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},$R={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ZR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_CONNECT+Re.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ec={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Re.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Re.Msg.MIXLY_ESP32_NETWORK_IP,1:Re.Msg.MIXLY_ESP32_NETWORK_MASK,2:Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},nc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Re.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},sc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},_c={init:function(){this.setColour(JR),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Re.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},oc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},pc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},ac={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},uc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},rc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},lc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},dc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Mc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},hc={init:function(){this.setColour(JR),this.appendValueInput("DOMAIN").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS_GET).appendField(new Re.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},mc={init:function(){this.appendValueInput("VAL"),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(mc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Re.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Re.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Re.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Ec={init:function(){this.appendValueInput("VAR").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown(Ec.METHOD),"DIR"),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:Re.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Re.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Oc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Re.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(new Re.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},cc="#3288dd",gc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS).appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Cc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Re.Msg.blockpy_REQUESTS+Re.Msg.OLED_STRING),this.appendDummyInput("").appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Sc={init:function(){this.appendValueInput("VAL"),this.setColour(cc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(Sc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Re.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Ac={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Re.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Lc={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Re.Msg.MIXLY_EMQX_PORT).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc={init:function(){this.setColour(cc),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Re.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Dc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"+Re.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Pc=100,Yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_SPK_STATE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ON,"True"],[Re.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc=100,xc={init:function(){this.setColour(bc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},wc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Hc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc="#A58C5B",Kc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_IS_PRESSED)}},Jc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_WAS_PRESSED)}},Qc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_BUTTON+Re.Msg.MIXLY_GET_PRESSES)}},zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},qc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"],[Re.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down,freefall:Re.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},jc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},$c={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(new Re.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Re.FieldDropdown(Zc.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]},eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},tg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},ig={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"left"],[Re.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Re.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=Re.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Re.Msg.MIXLY_ESP32_NEAR;return i+{left:Re.Msg.TEXT_TRIM_LEFT,right:Re.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Re.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Re.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},_g={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},og={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("LM35"+Re.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LM35)}},pg={init:function(){this.setColour(Wc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Re.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Re.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Re.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Re.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Re.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Re.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Re.Msg.HTML_COLOUR+"、"+Re.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Re.Msg.MIXLY_NEXT+"、"+Re.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Re.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Re.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Re.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Re.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Re.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},ug={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Re.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Re.Msg.MIXLY_THE_FIRST,"3"],[Re.Msg.MIXLY_THE_SECOND,"4"],[Re.Msg.MIXLY_THE_THIRD,"5"],[Re.Msg.MIXLY_THE_FOURTH,"6"],[Re.Msg.MIXLY_THE_FIFTH,"7"],[Re.Msg.MIXLY_THE_SIXTH,"8"],[Re.Msg.MIXLY_THE_SEVENTH,"9"],[Re.Msg.MIXLY_THE_EIGHTH,"10"],[Re.Msg.MIXLY_THE_NINTH,"11"],[Re.Msg.MIXLY_THE_TENTH,"12"],[Re.Msg.MIXLY_THE_ELEVENTH,"13"],[Re.Msg.MIXLY_THE_TWELFTH,"14"],[Re.Msg.MIXLY_THE_13TH,"15"],[Re.Msg.MIXLY_THE_14TH,"16"],[Re.Msg.MIXLY_THE_15TH,"17"],[Re.Msg.MIXLY_THE_16TH,"18"],[Re.Msg.MIXLY_THE_17TH,"19"],[Re.Msg.MIXLY_THE_18TH,"20"],[Re.Msg.MIXLY_THE_19TH,"21"],[Re.Msg.MIXLY_THE_20TH,"22"],[Re.Msg.MIXLY_Turn_on_the_lights,"23"],[Re.Msg.MIXLY_Turn_off_the_lights,"24"],[Re.Msg.MIXLY_Turn_up_the_brightness,"25"],[Re.Msg.MIXLY_Turn_down_the_brightness,"26"],[Re.Msg.MIXLY_Set_it_to_red,"27"],[Re.Msg.MIXLY_Set_it_to_orange,"28"],[Re.Msg.MIXLY_Set_it_to_yellow,"29"],[Re.Msg.MIXLY_Set_it_to_green,"30"],[Re.Msg.MIXLY_Set_it_to_cyan,"31"],[Re.Msg.MIXLY_Set_it_to_blue,"32"],[Re.Msg.MIXLY_Set_it_to_purple,"33"],[Re.Msg.MIXLY_Set_it_to_white,"34"],[Re.Msg.MIXLY_Turn_on_the_fan,"35"],[Re.Msg.MIXLY_Turn_off_the_fan,"36"],[Re.Msg.MIXLY_First_gear,"37"],[Re.Msg.MIXLY_Wind_speed_second,"38"],[Re.Msg.MIXLY_Third_gear,"39"],[Re.Msg.MIXLY_Previous,"40"],[Re.Msg.MIXLY_Next_page,"41"],[Re.Msg.MIXLY_Show_smiley_face,"42"],[Re.Msg.MIXLY_Show_crying_face,"43"],[Re.Msg.MIXLY_Show_love,"44"],[Re.Msg.MIXLY_Close_display,"45"],[Re.Msg.MIXLY_Start_execution,"46"],[Re.Msg.MIXLY_FORWARD,"47"],[Re.Msg.MIXLY_BACKWARD,"48"],[Re.Msg.MIXLY_TURNLEFT,"49"],[Re.Msg.MIXLY_TURNRIGHT,"50"],[Re.Msg.MIXLY_STOP,"51"],[Re.Msg.MIXLY_Accelerate,"52"],[Re.Msg.MIXLY_retard,"53"],[Re.Msg.ROTATION_FORWARD,"54"],[Re.Msg.ROTATION_BACKWARD,"55"],[Re.Msg.MIXLY_Query_temperature,"56"],[Re.Msg.MIXLY_Query_humidity,"57"],[Re.Msg.MIXLY_Query_brightness,"58"],[Re.Msg.MIXLY_Query_sound,"59"],[Re.Msg.MIXLY_Query_time,"60"],[Re.Msg.MIXLY_Query_distance,"61"],[Re.Msg.MIXLY_Query_pressure,"62"],[Re.Msg.MIXLY_Query_key,"63"],[Re.Msg.MIXLY_Query_touch,"64"],[Re.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Re.Msg.MIXLY_WHETHER+Re.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Re.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Re.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Mg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MP3_PLAY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_WIND_SPEED,"154"],[Re.Msg.MIXLY_HYETAL,"155"],[Re.Msg.MIXLY_TEMPERATURE,"156"],[Re.Msg.MIXLY_Humidity,"157"],[Re.Msg.MIXLY_Altitude,"158"],[Re.Msg.MIXLY_SOUND,"159"],[Re.Msg.MIXLY_BRIGHTNESS,"160"],[Re.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Re.Msg.MIXLY_SERVO,"162"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Re.Msg.MIXLY_BUTTON2,"164"],[Re.Msg.MIXLY_ESP32_TOUCH,"165"],[Re.Msg.MIXLY_PAY,"166"],[Re.Msg.MIXLY_CARSH_CHANGE,"167"],[Re.Msg.MIXLY_COUNTDOWN,"168"],[Re.Msg.MIXLY_TIMING,"169"],[Re.Msg.MIXLY_AT_THE_MOMENT,"170"],[Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Re.Msg.MIXLY_FORWARD,"172"],[Re.Msg.MIXLY_BACKWARD,"173"],[Re.Msg.MIXLY_TURNLEFT,"174"],[Re.Msg.MIXLY_TURNRIGHT,"175"],[Re.Msg.MIXLY_STOP,"176"],[Re.Msg.MIXLY_Accelerate,"177"],[Re.Msg.MIXLY_retard,"178"],[Re.Msg.ROTATION_FORWARD,"179"],[Re.Msg.ROTATION_BACKWARD,"180"],[Re.Msg.TUPLE_JOIN,"181"],[Re.Msg.MIXLY_SHOW,"182"],[Re.Msg.MIXLY_LAMPLIGHT,"183"],[Re.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Re.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_UNIT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_YEAR,"117"],[Re.Msg.MIXLY_MONTH,"118"],[Re.Msg.MIXLY_DAY,"119"],[Re.Msg.MIXLY_HOUR,"120"],[Re.Msg.MIXLY_MINUTE,"121"],[Re.Msg.MIXLY_SECOND,"122"],[Re.Msg.MIXLY_WEEK2,"123"],[Re.Msg.MIXLY_RMB_UNIT,"124"],[Re.Msg.blockpy_setheading_degree,"125"],[Re.Msg.MIXLY_GEAR,"126"],[Re.Msg.MIXLY_LAYER,"127"],[Re.Msg.MIXLY_GRAM,"128"],[Re.Msg.MIXLY_METER,"129"],[Re.Msg.MIXLY_CENTIMETER,"130"],[Re.Msg.MIXLY_MILLIMETER,"131"],[Re.Msg.MIXLY_LUMEN,"132"],[Re.Msg.MIXLY_DECIBEL,"133"],[Re.Msg.MIXLY_hectopascal,"134"],[Re.Msg.MIXLY_PERCENT,"135"],[Re.Msg.MIXLY_CELSIUS,"136"],[Re.Msg.MIXLY_METER_PER_SEC,"137"],[Re.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Re.Msg.MIXLY_SUCCESS,"140"],[Re.Msg.MIXLY_FAILED,"141"],[Re.Msg.MIXLY_WRONG,"142"],[Re.Msg.MIXLY_GOOD,"143"],[Re.Msg.MIXLY_blockpy_set_add,"144"],[Re.Msg.MIXLY_DECREASE,"145"],[Re.Msg.COLOUR_RGB_RED,"146"],[Re.Msg.COLOUR_RGB_ORANGE,"147"],[Re.Msg.COLOUR_YELLOW,"148"],[Re.Msg.COLOUR_RGB_GREEN,"149"],[Re.Msg.COLOUR_CYAN,"150"],[Re.Msg.COLOUR_RGB_BLUE,"151"],[Re.Msg.COLOUR_RGB_PURPLE,"152"],[Re.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_SYSTEM+Re.Msg.MIXLY_CMD).appendField(new Re.FieldDropdown([[Re.Msg.MILXY_ENTER_WAKE_UP,"1"],[Re.Msg.MIXLY_INCREASE_VOLUME,"202"],[Re.Msg.MIXLY_REDUCE_VOLUME,"203"],[Re.Msg.MIXLY_MAX_VOLUME,"204"],[Re.Msg.MIXLY_MINIMUM,"205"],[Re.Msg.MIXLY_OPEN_RESPONSE,"206"],[Re.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Re.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Re.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Re.Msg.MIXLY_ESP32_MAX30102_IR+","+Re.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Re.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Re.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+Re.Msg.HTML_COLOUR,"[2]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_IR_STRENGTH,"[1]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+"RGB"+Re.Msg.HTML_COLOUR,"0"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_RGB_RAW,"1"],[Re.Msg.MIXLY_GET_ENV_LIGHT+Re.Msg.MIXLY_BRIGHTNESS,"2"],[Re.Msg.GET_IR_STRENGTH+Re.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Re.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Lg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Re.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MIXGOPE_FIELD+Re.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Re.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET+Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},bg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_GETTEMPERATUE)}},xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Bg={init:function(){this.setColour(Wc),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Gg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Re.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ug={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Re.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_SCAN_OK,"0"],[Re.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Re.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Jg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},dv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Iv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Rv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Av=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Pv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Yv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},vv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},yv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},xv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Vv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Bv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Gv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Uv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_st7789="import st7789";var i=ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Kv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Jv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},zv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},jv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Zv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},eX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},sX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},_X=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},oX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},MX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},hX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},mX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},RX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},cX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},gX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},CX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},SX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},AX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},LX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},NX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},DX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},fX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},FX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ty=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},My=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},hy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},my=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ey=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Oy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ry=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},gy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Sy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ay=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Ny=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Dy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},Py=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},vy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},Xy=RX,yy=BX,by=bX,xy=BX,Vy=GX,By=YX,Gy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Uy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},wy=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},lw=function(){return"control.reset()\n"},dw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Iw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Tw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},Mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},hw=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},mw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ew=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ow=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},Rw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},gw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Cw=function(){return"while True:\n pass\n"},Sw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Aw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Lw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Nw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},fw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Fw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},Pw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},vw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},yw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},bw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},xw=Pw,Vw=Yw,Bw=Fw,Gw=Lw,Uw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Ww=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Kw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH='

',{XML:nH}=ce,sH=nH.render(iH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:_H}=ce,oH=_H.render(iH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:pH}=ce,aH=pH.render(iH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),uH=new Re.Generator("Python");uH.INDENT=" ",uH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),uH.ORDER_ATOMIC=0,uH.ORDER_COLLECTION=1,uH.ORDER_STRING_CONVERSION=1,uH.ORDER_UNARY_POSTFIX=1,uH.ORDER_UNARY_PREFIX=2,uH.ORDER_MEMBER=2.1,uH.ORDER_FUNCTION_CALL=2.2,uH.ORDER_EXPONENTIATION=3,uH.ORDER_UNARY_SIGN=4,uH.ORDER_BITWISE_NOT=4,uH.ORDER_MULTIPLICATIVE=5,uH.ORDER_ADDITIVE=6,uH.ORDER_BITWISE_SHIFT=7,uH.ORDER_BITWISE_AND=8,uH.ORDER_BITWISE_XOR=9,uH.ORDER_BITWISE_OR=10,uH.ORDER_RELATIONAL=11,uH.ORDER_EQUALITY=11,uH.ORDER_LOGICAL_NOT=12,uH.ORDER_LOGICAL_AND=13,uH.ORDER_LOGICAL_OR=14,uH.ORDER_ASSIGNMENT=14,uH.ORDER_CONDITIONAL=15,uH.ORDER_LAMBDA=16,uH.ORDER_NONE=99,uH.ORDER_OVERRIDES=[[uH.ORDER_FUNCTION_CALL,uH.ORDER_MEMBER],[uH.ORDER_FUNCTION_CALL,uH.ORDER_FUNCTION_CALL],[uH.ORDER_MEMBER,uH.ORDER_MEMBER],[uH.ORDER_MEMBER,uH.ORDER_FUNCTION_CALL]],uH.init=function(){uH.PASS=this.INDENT+"pass\n",uH.definitions_=Object.create(null),uH.functionNames_=Object.create(null),uH.setups_=Object.create(null),uH.loops_=Object.create(null),uH.codeEnd_=Object.create(null),uH.variableDB_?uH.variableDB_.reset():uH.variableDB_=new Ae(uH.RESERVED_WORDS_)},uH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in uH.functions_)o.push(uH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in uH.setups_)p.push(uH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in uH.loops_)a.push(uH.loops_[s]);var u=[];for(var s in uH.codeEnd_)u.push(uH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},uH.scrubNakedValue=function(e){return e+"\n"},uH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},uH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},uH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,uH.COMMENT_WRAP-3),n+=uH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const rH={};rH["元控自立"]={description:"MicroPython[ESP32C5 MixGo SOWL]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["ESP32C5 Generic"]={description:"MicroPython[ESP32C5 Generic]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:rH["元控自立"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const lH=rH,dH=20,IH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HIGH,"HIGH"],[Re.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},TH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},MH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},hH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_mSecond,"period"],[Re.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},EH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_REF_VOLTAGE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},OH={init:function(){this.setColour(dH),this.appendValueInput("pin").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},RH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cH={init:function(){this.setColour(20),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_AS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Re.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Re.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Re.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},gH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("dac#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},CH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("tc#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("PWM"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_FREQUENCY+Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},AH=cH,LH=CH,NH=OH,DH=RH,fH=230,FH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},PH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},YH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},xH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},VH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},UH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},wH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},JH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},jH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ZH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},sk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},_k={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},pk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},ck=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},gk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Ck=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Sk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Ak=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Lk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Nk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},Dk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},fk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Fk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Pk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Yk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},vk=Yk,Xk=Yk,yk=Yk,bk=Yk,xk=Yk,Vk=Yk,Bk=Yk,Gk=Yk,Uk=Yk,wk=Yk,Hk=Yk,kk=Yk,Wk=Yk,Kk=Yk,Jk=Yk,Qk=Yk,zk=Yk,qk=Yk,jk=Yk,$k=Yk,Zk=Yk,eW=Yk,tW=Yk,iW=Yk,nW=Yk,sW=Yk,_W=Yk,oW=Yk,pW=Yk,aW=Yk,uW=Yk,rW=Yk,lW=Yk,dW=Yk,IW=Yk,TW=Yk,MW=Yk,hW=Yk,mW=Yk,EW=Yk,OW=Yk,RW=Yk,cW=Yk,gW=Yk,CW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]};Object.assign(Re.Variables,Ce),Object.assign(Re.Procedures,Bu),Object.assign(Re.Lang.ZhHans,Ie),Object.assign(Re.Lang.ZhHant,Te),Object.assign(Re.Lang.En,Me),Re.Python=Gu,Re.generator=Gu,ce.Profile.default={},Object.assign(ce.Profile,lH),Object.assign(ce.Profile.default,lH["元控青春"]),Object.assign(Re.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,x,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,b,Y,G,he,me),Object.assign(Re.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Ee,Oe)})(); \ No newline at end of file +class Se{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},He={init:function(){this.setColour(xe),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ke={init:function(){this.setColour(xe),this.appendValueInput("LIST").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Re.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},We={init:function(){this.setColour(xe),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Re.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Re.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Ke={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Je={init:function(){this.setColour(xe);var e=new Re.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};We.OPERATORS=[[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Je.OPERATORS=[[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},je={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$e={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},et={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},tt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},it={init:function(){this.jsonInit({message0:Re.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xe,tooltip:Re.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Re.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},nt={init:function(){this.setColour(xe),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_STAT),this.setOutput(!0)}},st={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_t={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ot={init:function(){this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Re.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Re.FieldDropdown([[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xe),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},at={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ut={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},rt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_GET_UNIQUE_IDEN)}},lt={init:function(){this.setColour(xe),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Re.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},dt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},It=230;Re.FieldTextInput.math_number_validator=function(e){return String(e)},Re.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Tt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},Mt={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},ht={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},mt={init:function(){this.setColour(It),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Et={init:function(){this.setColour(It),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Ot={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Re.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Rt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:Re.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Re.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Re.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Re.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Re.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Re.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Re.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},ct={init:function(){var e=[[Re.Msg.MATH_BIN,"bin"],[Re.Msg.MATH_OCT,"oct"],[Re.Msg.MATH_HEX,"hex"]];this.setColour(It),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:Re.Msg.MATH_DEC_TOOLTIP_BIN,oct:Re.Msg.MATH_DEC_TOOLTIP_OCT,hex:Re.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},gt={init:function(){var e=[[Re.Msg.LANG_MATH_TO_ROUND,"round"],[Re.Msg.LANG_MATH_TO_CEIL,"ceil"],[Re.Msg.LANG_MATH_TO_FLOOR,"floor"],[Re.Msg.MATH_ABS,"fabs"],[Re.Msg.MATH_SQRT,"sqrt"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:Re.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Re.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Re.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Re.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Re.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Re.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Ct={init:function(){var e=[[Re.Msg.MIXLY_MAX,"max"],[Re.Msg.MIXLY_MIN,"min"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Re.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:Re.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Re.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},St={init:function(){var e=[[Re.Msg.MATH_TWO,"two"],[Re.Msg.MATH_EIGHT,"eight"],[Re.Msg.MATH_TEN,"ten"],[Re.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(It),this.appendDummyInput("").appendField(Re.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Re.FieldDropdown(e),"OP").appendField(Re.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MATH_ZHW).appendField(new Re.FieldDropdown(e),"OP2").appendField(Re.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:Re.Msg.MATH_Before_two,eight:Re.Msg.MATH_Before_eight,ten:Re.Msg.MATH_Before_ten,sixteen:Re.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:Re.Msg.MATH_Behind_two,eight:Re.Msg.MATH_Behind_eight,ten:Re.Msg.MATH_Behind_ten,sixteen:Re.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},At={init:function(){var e=[[Re.Msg.LANG_MATH_INT,"int"],[Re.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(It),this.setOutput(!0,Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Re.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:Re.Msg.LANG_MATH_INT,float:Re.Msg.LANG_MATH_FLOAT_RANDOM};return Re.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Lt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_CONSTRAIN_TOOLTIP)}},Nt={init:function(){this.setColour(It),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Re.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Re.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},ft={init:function(){this.setColour(It),this.appendValueInput("NUM").setCheck(Number).appendField(Re.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ft={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MATH_ROUND).appendField(Re.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Re.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"],[Re.Msg.MIXLY_TO_BITES,"b"],[Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_INT,"bti"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Re.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Yt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Re.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},vt=Nt,Xt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},yt={init:function(){this.setColour(It),this.itemCount_=1,this.setMutator(new Re.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Re.Msg.MIXLY_PRODUCT+Re.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Re.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Re.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const wt={init:function(){this.setColour(Vt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Re.FieldTextInput("",Re.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Re.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Re.FieldImage(t,7,12,'"')}},Ht={init:function(){this.setColour(Vt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Re.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Wt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String).appendField(Re.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Jt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qt={init:function(){this.WHERE_OPTIONS=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.TEXT_GET_INDEX_RANDOM+1+Re.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.LISTS_GET_INDEX_GET,"MODE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Re.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Re.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Re.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:Re.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Re.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Re.Msg.TEXT_GET_INDEX_RANDOM};return Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+Re.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Re.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Re.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},zt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.LISTS_GET_INDEX_FROM_START+"n"+Re.Msg.TEXT_CHARAT2)}},qt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Re.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Re.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},jt={init:function(){this.WHERE_OPTIONS_1=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Re.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Re.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new Re.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$t={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Re.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Zt={init:function(){var e=[[Re.Msg.MIXLY_EQUALS,"==="],[Re.Msg.MIXLY_STARTSWITH,"startswith"],[Re.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Re.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_COMPARETO_HELP)}},ti={init:function(){var e=[[Re.Msg.TEXT_UPPER,"upper"],[Re.Msg.TEXT_TITLE,"title"],[Re.Msg.TEXT_CAPITALIZE,"capitalize"],[Re.Msg.TEXT_SWAPCASE,"swapcase"],[Re.Msg.TEXT_LOWER,"lower"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:Re.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Re.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Re.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Re.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Re.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},ii={init:function(){var e=[[Re.Msg.TEXT_LJUST,"ljust"],[Re.Msg.TEXT_CENTER,"center"],[Re.Msg.TEXT_RJUST,"rjust"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Re.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Re.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Re.Msg.MIXLY_MID+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Re.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Re.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Vt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Re.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Re.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var e=[[Re.Msg.TEXT_TRIM_BOTH,"strip"],[Re.Msg.TEXT_TRIM_LEFT,"lstrip"],[Re.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Vt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Re.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:Re.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Re.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Re.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ai={init:function(){this.setColour(Vt),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Re.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_KEYS),this.setTooltip(Re.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Re.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Re.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MID),this.setTooltip(Re.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_CLEAR),this.setTooltip(Re.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_ITEMS),this.setTooltip(Re.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_VALUES),this.setTooltip(Re.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LENGTH),this.setTooltip(Re.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_DELDICT),this.setTooltip(Re.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Re.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Re.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Re.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Re.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Re.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Re.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setTooltip(Re.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Re.FieldLabel(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Re.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var e=Re.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Re.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Re.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},fn={init:function(){var e=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Re.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var e=[[Re.Msg.LOGIC_OPERATION_AND,"AND"],[Re.Msg.LOGIC_OPERATION_OR,"OR"],[Re.Msg.LOGIC_OPERATION_NOR,"NOR"],[Re.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:Re.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Re.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Re.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Re.Msg.LOGIC_NEGATE_TOOLTIP)}},Yn={init:function(){var e=[[Re.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Re.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Re.FieldDropdown(e),"BOOL"),this.setTooltip(Re.Msg.LOGIC_BOOLEAN_TOOLTIP)}},vn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Re.Msg.LOGIC_NULL),this.setTooltip(Re.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Re.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Re.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var e=[[Re.Msg.TEXT_APPEND_TO,"in"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Re.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Re.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.IN)}},bn={init:function(){var e=[[Re.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Re.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Re.Msg.MIXLY_ADD,"a"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_ADD,"ab"],[Re.Msg.MIXLY_R_W,"r+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_R_W,"rb+"],[Re.Msg.MIXLY_W_R,"w+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_W_R,"wb+"],[Re.Msg.MIXLY_A_R,"a+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXPY_TEXT_ENCODE).appendField(new Re.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.HTML_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ts={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Re.Msg.MIXLY_ESP32_SET+{mkdir:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Re.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.HTML_FILE,"isfile"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Re.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Re.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var e=Re.Procedures.findLegalName("",this),t=new Re.FieldTextInput(e,Re.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Re.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Re.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Re.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Re.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Re.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Re.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Re.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Re.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Re.Events.enable()}},mutationToDom:function(e){var t=Re.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_FORM_CONTENT).appendField(new Re.FieldDropdown([[Re.Msg.HTML_TEXT,"text"],[Re.Msg.HTML_EMAIL,"email"],[Re.Msg.HTML_NUMBER,"number"],[Re.Msg.HTML_PASSWORD,"password"],[Re.Msg.HTML_CHECKBOX,"checkbox"],[Re.Msg.HTML_RADIOBUTTON,"radiobutton"],[Re.Msg.HTML_BUTTON,"button"],[Re.Msg.HTML_COLOUR,"colour"],[Re.Msg.HTML_DATE,"date"],[Re.Msg.HTML_LOCALTIME,"local time"],[Re.Msg.HTML_FILE,"file"],[Re.Msg.HTML_HIDDEN,"hidden"],[Re.Msg.HTML_IMAGE,"image"],[Re.Msg.HTML_MONTH,"month"],[Re.Msg.HTML_RANGE,"range"],[Re.Msg.HTML_RESET,"reset"],[Re.Msg.HTML_SEARCH,"search"],[Re.Msg.HTML_SUBMIT,"submit"],[Re.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Re.Msg.HTML_TIME,"time"],[Re.Msg.HTML_URL,"url"],[Re.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Re.Msg.HTML_NAME).appendField(new Re.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Re.Msg.HTML_VALUE).appendField(new Re.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_TEXT).appendField(new Re.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Re.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Re.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Re.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Re.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Re.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},Re.isNumber(n)&&Re.isNumber(s)&&Re.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const ra=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},da=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ia=function(e,t){return["None",t.ORDER_ATOMIC]},Ta=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ma=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ea=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Oa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},ga=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},Sa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Aa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},La=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},fa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Pa=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ya=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Va=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ua=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),Re.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Cu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Du=function(e,t){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(e){return e.getFieldValue("TEXT")+"\n"},Yu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},vu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},bu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},Gu.scrubNakedValue=function(e){return e+"\n"},Gu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Gu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Re.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Re.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETTING+Re.Msg.blockpy_turtle_rotate+Re.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Re.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Re.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Re.Msg.MOTOR_N,"ms32006.MOT_N"],[Re.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Re.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Re.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["SYN6288"+Re.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Re.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_WHETHER).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_STOPPED,"0"],[Re.Msg.MIXLY_PLAYING,"1"],[Re.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_PLAY,"1"],[Re.Msg.MIXLY_MP3_PAUSE,"2"],[Re.Msg.MIXLY_STOP,"3"],[Re.Msg.MIXLY_MP3_PREV,"4"],[Re.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Re.Msg.MIXLY_MP3_VOL+Re.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Re.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Re.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Re.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Re.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Re.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Re.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LISTS_SET_INDEX_SET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Re.Msg.MIXLY_SPEED,"[1]"],[Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Re.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Re.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Re.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SERVO+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MOTOR+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr="#6C9858",jr={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_ON,"1"],[Re.Msg.MIXLY_ESP32_OFF,"0"],[Re.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},el={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},tl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LIGHT_RED,"1"],[Re.Msg.MIXLY_LIGHT_GREEN,"2"],[Re.Msg.MIXLY_LIGHT_BLUE,"3"],[Re.Msg.MIXLY_LIGHT_YELLOW,"4"],[Re.Msg.MIXLY_LIGHT_CYAN,"5"],[Re.Msg.MIXLY_LIGHT_PURPLE,"6"],[Re.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(qr),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(qr),this.appendDummyInput().appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"1"],[Re.Msg.TEXT_TRIM_RIGHT,"2"],[Re.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"0"],[Re.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_RECORD_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.MIXLY_ALL+Re.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Re.Msg.MIXLY_RELEASE).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SPECIAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Re.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Re.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Re.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Re.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Re.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Re.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Re.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Re.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GENERAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(qr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Re.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Re.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},jm={init:function(){this.jsonInit({colour:Gm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Re.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Re.Msg.MIXLY_MICROBIT_Built_in_image})}},$m={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Zm={init:function(){this.setColour(Gm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(Zm.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"add"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},eE={init:function(){this.setColour(Gm),this.appendValueInput("A").setCheck("esp32_image").appendField(Re.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},tE={init:function(){this.setColour(Gm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(tE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Re.Msg.MIXLY_UP,shift_down:Re.Msg.MIXLY_DOWN,shift_left:Re.Msg.MIXLY_LEFT,shift_right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"shift_up"],[Re.Msg.MIXLY_DOWN,"shift_down"],[Re.Msg.MIXLY_LEFT,"shift_left"],[Re.Msg.MIXLY_RIGHT,"shift_right"]]},iE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},nE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},sE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_E={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},oE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Clear_display)}},pE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_SHOW+Re.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(uE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},rE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},TE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.OLED_SET_FONT).appendField(new Re.FieldDropdown(TE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Re.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ME={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},hE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},mE={init:function(){this.setColour(Gm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Re.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},OE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},RE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},gE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},CE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},SE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.mpython_display_hline_1,"1"],[Re.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(AE.IMAGES),"path"),this.setColour(Gm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},LE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(NE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},DE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},fE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},PE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Re.FieldDropdown(PE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Re.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Re.Msg.CLOCKWISE+"90"+Re.Msg.blockpy_setheading_degree,"1"],[Re.Msg.CLOCKWISE+"180"+Re.Msg.blockpy_setheading_degree,"2"],[Re.Msg.CLOCKWISE+"270"+Re.Msg.blockpy_setheading_degree,"3"]]},YE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(vE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},XE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Re.Msg.MIXLY_AipImageClassify_Image+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},xE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},BE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},GE={init:function(){this.jsonInit({colour:Gm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},HE={init:function(){this.setColour(Gm),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kE={init:function(){this.setColour(Gm),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Re.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Re.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Re.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Re.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},qE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},jE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},$E={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZE={init:function(){this.setColour(Gm),this.appendValueInput("direct").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ERROR_RATE).appendField(new Re.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},iO={init:function(){Hm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){Jm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){tE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){sE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){_E.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO=180,uO={init:function(){this.setColour(aO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Re.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(uO.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"]]},rO={init:function(){this.setColour(aO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(rO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"+"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},lO={init:function(){this.setColour(aO),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Re.FieldDropdown(lO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE+{height:Re.Msg.MIXLY_HEIGHT,width:Re.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[Re.Msg.MIXLY_HEIGHT,"height"],[Re.Msg.MIXLY_WIDTH,"width"]]},dO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RECT).appendField(new Re.FieldDropdown(dO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_OLED_RECT)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},IO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Re.FieldDropdown(IO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},TO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Re.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO="#777777",hO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("from ").appendField(new Re.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Re.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("import ").appendField(new Re.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField(new Re.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_R={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},oR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PROJECT).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},rR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.appendDummyInput().appendField(Re.Msg.MIXLY_Service_quality_display).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_AT_MOST_ONCE,"0"],[Re.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},dR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},hR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},mR={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},ER={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},OR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},RR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Re.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},cR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+Re.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CR={init:function(){this.VISITOR_ID=ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour($O),this.appendDummyInput("").appendField(new Re.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},SR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},AR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Re.Msg.MIXLY_REQUESTS_GET).appendField(Re.Msg.MIXLY_GET_CURRENT_TIME).appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Re.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Re.Msg.MQTT_Topic).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR=ZO,FR=eR,PR=tR,YR=iR,vR=sR,XR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yR=XR,bR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},BR={init:function(){this.setColour($O),this.appendDummyInput().appendField("Ollama "+Re.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Re.inputs.Align.RIGHT).appendField(`MixIO ${Re.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR=225,QR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Re.Msg.MIXLY_NETWORK_MODE).appendField(new Re.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},zR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Re.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=Re.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Re.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Re.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},qR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Re.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},$R={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ZR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_CONNECT+Re.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ec={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Re.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Re.Msg.MIXLY_ESP32_NETWORK_IP,1:Re.Msg.MIXLY_ESP32_NETWORK_MASK,2:Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},nc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Re.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},sc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},_c={init:function(){this.setColour(JR),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Re.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},oc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},pc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},ac={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},uc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},rc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},lc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},dc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Mc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},hc={init:function(){this.setColour(JR),this.appendValueInput("DOMAIN").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS_GET).appendField(new Re.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},mc={init:function(){this.appendValueInput("VAL"),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(mc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Re.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Re.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Re.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Ec={init:function(){this.appendValueInput("VAR").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown(Ec.METHOD),"DIR"),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:Re.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Re.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Oc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Re.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(new Re.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},cc="#3288dd",gc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS).appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Cc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Re.Msg.blockpy_REQUESTS+Re.Msg.OLED_STRING),this.appendDummyInput("").appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Sc={init:function(){this.appendValueInput("VAL"),this.setColour(cc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(Sc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Re.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Ac={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Re.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Lc={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Re.Msg.MIXLY_EMQX_PORT).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc={init:function(){this.setColour(cc),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Re.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Dc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"+Re.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Pc=100,Yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_SPK_STATE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ON,"True"],[Re.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc=100,xc={init:function(){this.setColour(bc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},wc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Hc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc="#A58C5B",Kc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_IS_PRESSED)}},Jc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_WAS_PRESSED)}},Qc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_BUTTON+Re.Msg.MIXLY_GET_PRESSES)}},zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},qc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"],[Re.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down,freefall:Re.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},jc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},$c={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(new Re.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Re.FieldDropdown(Zc.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]},eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},tg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},ig={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"left"],[Re.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Re.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=Re.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Re.Msg.MIXLY_ESP32_NEAR;return i+{left:Re.Msg.TEXT_TRIM_LEFT,right:Re.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Re.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Re.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},_g={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},og={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("LM35"+Re.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LM35)}},pg={init:function(){this.setColour(Wc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Re.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Re.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Re.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Re.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Re.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Re.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Re.Msg.HTML_COLOUR+"、"+Re.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Re.Msg.MIXLY_NEXT+"、"+Re.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Re.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Re.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Re.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Re.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Re.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},ug={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Re.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Re.Msg.MIXLY_THE_FIRST,"3"],[Re.Msg.MIXLY_THE_SECOND,"4"],[Re.Msg.MIXLY_THE_THIRD,"5"],[Re.Msg.MIXLY_THE_FOURTH,"6"],[Re.Msg.MIXLY_THE_FIFTH,"7"],[Re.Msg.MIXLY_THE_SIXTH,"8"],[Re.Msg.MIXLY_THE_SEVENTH,"9"],[Re.Msg.MIXLY_THE_EIGHTH,"10"],[Re.Msg.MIXLY_THE_NINTH,"11"],[Re.Msg.MIXLY_THE_TENTH,"12"],[Re.Msg.MIXLY_THE_ELEVENTH,"13"],[Re.Msg.MIXLY_THE_TWELFTH,"14"],[Re.Msg.MIXLY_THE_13TH,"15"],[Re.Msg.MIXLY_THE_14TH,"16"],[Re.Msg.MIXLY_THE_15TH,"17"],[Re.Msg.MIXLY_THE_16TH,"18"],[Re.Msg.MIXLY_THE_17TH,"19"],[Re.Msg.MIXLY_THE_18TH,"20"],[Re.Msg.MIXLY_THE_19TH,"21"],[Re.Msg.MIXLY_THE_20TH,"22"],[Re.Msg.MIXLY_Turn_on_the_lights,"23"],[Re.Msg.MIXLY_Turn_off_the_lights,"24"],[Re.Msg.MIXLY_Turn_up_the_brightness,"25"],[Re.Msg.MIXLY_Turn_down_the_brightness,"26"],[Re.Msg.MIXLY_Set_it_to_red,"27"],[Re.Msg.MIXLY_Set_it_to_orange,"28"],[Re.Msg.MIXLY_Set_it_to_yellow,"29"],[Re.Msg.MIXLY_Set_it_to_green,"30"],[Re.Msg.MIXLY_Set_it_to_cyan,"31"],[Re.Msg.MIXLY_Set_it_to_blue,"32"],[Re.Msg.MIXLY_Set_it_to_purple,"33"],[Re.Msg.MIXLY_Set_it_to_white,"34"],[Re.Msg.MIXLY_Turn_on_the_fan,"35"],[Re.Msg.MIXLY_Turn_off_the_fan,"36"],[Re.Msg.MIXLY_First_gear,"37"],[Re.Msg.MIXLY_Wind_speed_second,"38"],[Re.Msg.MIXLY_Third_gear,"39"],[Re.Msg.MIXLY_Previous,"40"],[Re.Msg.MIXLY_Next_page,"41"],[Re.Msg.MIXLY_Show_smiley_face,"42"],[Re.Msg.MIXLY_Show_crying_face,"43"],[Re.Msg.MIXLY_Show_love,"44"],[Re.Msg.MIXLY_Close_display,"45"],[Re.Msg.MIXLY_Start_execution,"46"],[Re.Msg.MIXLY_FORWARD,"47"],[Re.Msg.MIXLY_BACKWARD,"48"],[Re.Msg.MIXLY_TURNLEFT,"49"],[Re.Msg.MIXLY_TURNRIGHT,"50"],[Re.Msg.MIXLY_STOP,"51"],[Re.Msg.MIXLY_Accelerate,"52"],[Re.Msg.MIXLY_retard,"53"],[Re.Msg.ROTATION_FORWARD,"54"],[Re.Msg.ROTATION_BACKWARD,"55"],[Re.Msg.MIXLY_Query_temperature,"56"],[Re.Msg.MIXLY_Query_humidity,"57"],[Re.Msg.MIXLY_Query_brightness,"58"],[Re.Msg.MIXLY_Query_sound,"59"],[Re.Msg.MIXLY_Query_time,"60"],[Re.Msg.MIXLY_Query_distance,"61"],[Re.Msg.MIXLY_Query_pressure,"62"],[Re.Msg.MIXLY_Query_key,"63"],[Re.Msg.MIXLY_Query_touch,"64"],[Re.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Re.Msg.MIXLY_WHETHER+Re.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Re.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Re.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Mg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MP3_PLAY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_WIND_SPEED,"154"],[Re.Msg.MIXLY_HYETAL,"155"],[Re.Msg.MIXLY_TEMPERATURE,"156"],[Re.Msg.MIXLY_Humidity,"157"],[Re.Msg.MIXLY_Altitude,"158"],[Re.Msg.MIXLY_SOUND,"159"],[Re.Msg.MIXLY_BRIGHTNESS,"160"],[Re.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Re.Msg.MIXLY_SERVO,"162"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Re.Msg.MIXLY_BUTTON2,"164"],[Re.Msg.MIXLY_ESP32_TOUCH,"165"],[Re.Msg.MIXLY_PAY,"166"],[Re.Msg.MIXLY_CARSH_CHANGE,"167"],[Re.Msg.MIXLY_COUNTDOWN,"168"],[Re.Msg.MIXLY_TIMING,"169"],[Re.Msg.MIXLY_AT_THE_MOMENT,"170"],[Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Re.Msg.MIXLY_FORWARD,"172"],[Re.Msg.MIXLY_BACKWARD,"173"],[Re.Msg.MIXLY_TURNLEFT,"174"],[Re.Msg.MIXLY_TURNRIGHT,"175"],[Re.Msg.MIXLY_STOP,"176"],[Re.Msg.MIXLY_Accelerate,"177"],[Re.Msg.MIXLY_retard,"178"],[Re.Msg.ROTATION_FORWARD,"179"],[Re.Msg.ROTATION_BACKWARD,"180"],[Re.Msg.TUPLE_JOIN,"181"],[Re.Msg.MIXLY_SHOW,"182"],[Re.Msg.MIXLY_LAMPLIGHT,"183"],[Re.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Re.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_UNIT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_YEAR,"117"],[Re.Msg.MIXLY_MONTH,"118"],[Re.Msg.MIXLY_DAY,"119"],[Re.Msg.MIXLY_HOUR,"120"],[Re.Msg.MIXLY_MINUTE,"121"],[Re.Msg.MIXLY_SECOND,"122"],[Re.Msg.MIXLY_WEEK2,"123"],[Re.Msg.MIXLY_RMB_UNIT,"124"],[Re.Msg.blockpy_setheading_degree,"125"],[Re.Msg.MIXLY_GEAR,"126"],[Re.Msg.MIXLY_LAYER,"127"],[Re.Msg.MIXLY_GRAM,"128"],[Re.Msg.MIXLY_METER,"129"],[Re.Msg.MIXLY_CENTIMETER,"130"],[Re.Msg.MIXLY_MILLIMETER,"131"],[Re.Msg.MIXLY_LUMEN,"132"],[Re.Msg.MIXLY_DECIBEL,"133"],[Re.Msg.MIXLY_hectopascal,"134"],[Re.Msg.MIXLY_PERCENT,"135"],[Re.Msg.MIXLY_CELSIUS,"136"],[Re.Msg.MIXLY_METER_PER_SEC,"137"],[Re.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Re.Msg.MIXLY_SUCCESS,"140"],[Re.Msg.MIXLY_FAILED,"141"],[Re.Msg.MIXLY_WRONG,"142"],[Re.Msg.MIXLY_GOOD,"143"],[Re.Msg.MIXLY_blockpy_set_add,"144"],[Re.Msg.MIXLY_DECREASE,"145"],[Re.Msg.COLOUR_RGB_RED,"146"],[Re.Msg.COLOUR_RGB_ORANGE,"147"],[Re.Msg.COLOUR_YELLOW,"148"],[Re.Msg.COLOUR_RGB_GREEN,"149"],[Re.Msg.COLOUR_CYAN,"150"],[Re.Msg.COLOUR_RGB_BLUE,"151"],[Re.Msg.COLOUR_RGB_PURPLE,"152"],[Re.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_SYSTEM+Re.Msg.MIXLY_CMD).appendField(new Re.FieldDropdown([[Re.Msg.MILXY_ENTER_WAKE_UP,"1"],[Re.Msg.MIXLY_INCREASE_VOLUME,"202"],[Re.Msg.MIXLY_REDUCE_VOLUME,"203"],[Re.Msg.MIXLY_MAX_VOLUME,"204"],[Re.Msg.MIXLY_MINIMUM,"205"],[Re.Msg.MIXLY_OPEN_RESPONSE,"206"],[Re.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Re.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Re.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Re.Msg.MIXLY_ESP32_MAX30102_IR+","+Re.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Re.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Re.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+Re.Msg.HTML_COLOUR,"[2]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_IR_STRENGTH,"[1]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+"RGB"+Re.Msg.HTML_COLOUR,"0"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_RGB_RAW,"1"],[Re.Msg.MIXLY_GET_ENV_LIGHT+Re.Msg.MIXLY_BRIGHTNESS,"2"],[Re.Msg.GET_IR_STRENGTH+Re.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Re.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Lg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Re.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MIXGOPE_FIELD+Re.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Re.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET+Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},bg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_GETTEMPERATUE)}},xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Bg={init:function(){this.setColour(Wc),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Gg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Re.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ug={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Re.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_SCAN_OK,"0"],[Re.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Re.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Jg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},dv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Iv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Rv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Av=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Pv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Yv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},vv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},yv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},xv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Vv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Bv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Gv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Uv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_st7789="import st7789";var i=ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Kv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Jv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},zv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},jv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Zv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},eX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},sX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},_X=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},oX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},MX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},hX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},mX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},RX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},cX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform()))return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},gX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},CX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},SX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},AX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},LX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},NX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},DX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},fX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},FX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ty=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},My=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},hy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},my=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ey=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Oy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ry=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},gy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Sy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ay=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Ny=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Dy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},Py=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},vy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},Xy=RX,yy=BX,by=bX,xy=BX,Vy=GX,By=YX,Gy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Uy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},wy=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},lw=function(){return"control.reset()\n"},dw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Iw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Tw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},Mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},hw=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},mw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ew=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ow=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},Rw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},gw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Cw=function(){return"while True:\n pass\n"},Sw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Aw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Lw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Nw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},fw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Fw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},Pw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},vw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},yw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},bw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},xw=Pw,Vw=Yw,Bw=Fw,Gw=Lw,Uw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Ww=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Kw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:nH}=ce,sH=nH.render(iH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:_H}=ce,oH=_H.render(iH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:pH}=ce,aH=pH.render(iH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),uH=new Re.Generator("Python");uH.INDENT=" ",uH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),uH.ORDER_ATOMIC=0,uH.ORDER_COLLECTION=1,uH.ORDER_STRING_CONVERSION=1,uH.ORDER_UNARY_POSTFIX=1,uH.ORDER_UNARY_PREFIX=2,uH.ORDER_MEMBER=2.1,uH.ORDER_FUNCTION_CALL=2.2,uH.ORDER_EXPONENTIATION=3,uH.ORDER_UNARY_SIGN=4,uH.ORDER_BITWISE_NOT=4,uH.ORDER_MULTIPLICATIVE=5,uH.ORDER_ADDITIVE=6,uH.ORDER_BITWISE_SHIFT=7,uH.ORDER_BITWISE_AND=8,uH.ORDER_BITWISE_XOR=9,uH.ORDER_BITWISE_OR=10,uH.ORDER_RELATIONAL=11,uH.ORDER_EQUALITY=11,uH.ORDER_LOGICAL_NOT=12,uH.ORDER_LOGICAL_AND=13,uH.ORDER_LOGICAL_OR=14,uH.ORDER_ASSIGNMENT=14,uH.ORDER_CONDITIONAL=15,uH.ORDER_LAMBDA=16,uH.ORDER_NONE=99,uH.ORDER_OVERRIDES=[[uH.ORDER_FUNCTION_CALL,uH.ORDER_MEMBER],[uH.ORDER_FUNCTION_CALL,uH.ORDER_FUNCTION_CALL],[uH.ORDER_MEMBER,uH.ORDER_MEMBER],[uH.ORDER_MEMBER,uH.ORDER_FUNCTION_CALL]],uH.init=function(){uH.PASS=this.INDENT+"pass\n",uH.definitions_=Object.create(null),uH.functionNames_=Object.create(null),uH.setups_=Object.create(null),uH.loops_=Object.create(null),uH.codeEnd_=Object.create(null),uH.variableDB_?uH.variableDB_.reset():uH.variableDB_=new Ae(uH.RESERVED_WORDS_)},uH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in uH.functions_)o.push(uH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in uH.setups_)p.push(uH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in uH.loops_)a.push(uH.loops_[s]);var u=[];for(var s in uH.codeEnd_)u.push(uH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},uH.scrubNakedValue=function(e){return e+"\n"},uH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},uH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},uH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,uH.COMMENT_WRAP-3),n+=uH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const rH={};rH["元控自立(SOWL)"]={description:"MicroPython[ESP32C5 MixGo SOWL]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["ESP32C5 Generic"]={description:"MicroPython[ESP32C5 Generic]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:rH["元控自立(SOWL)"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const lH=rH,dH=20,IH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HIGH,"HIGH"],[Re.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},TH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},MH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},hH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_mSecond,"period"],[Re.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},EH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_REF_VOLTAGE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},OH={init:function(){this.setColour(dH),this.appendValueInput("pin").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},RH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cH={init:function(){this.setColour(20),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_AS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Re.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Re.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Re.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},gH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("dac#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},CH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("tc#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("PWM"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_FREQUENCY+Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},AH=cH,LH=CH,NH=OH,DH=RH,fH=230,FH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},PH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},YH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},xH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},VH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},UH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},wH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},JH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},jH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ZH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},sk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},_k={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},pk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},ck=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},gk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Ck=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Sk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Ak=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Lk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Nk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},Dk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},fk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Fk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Pk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Yk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},vk=Yk,Xk=Yk,yk=Yk,bk=Yk,xk=Yk,Vk=Yk,Bk=Yk,Gk=Yk,Uk=Yk,wk=Yk,Hk=Yk,kk=Yk,Wk=Yk,Kk=Yk,Jk=Yk,Qk=Yk,zk=Yk,qk=Yk,jk=Yk,$k=Yk,Zk=Yk,eW=Yk,tW=Yk,iW=Yk,nW=Yk,sW=Yk,_W=Yk,oW=Yk,pW=Yk,aW=Yk,uW=Yk,rW=Yk,lW=Yk,dW=Yk,IW=Yk,TW=Yk,MW=Yk,hW=Yk,mW=Yk,EW=Yk,OW=Yk,RW=Yk,cW=Yk,gW=Yk,CW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]};Object.assign(Re.Variables,Ce),Object.assign(Re.Procedures,Bu),Object.assign(Re.Lang.ZhHans,Ie),Object.assign(Re.Lang.ZhHant,Te),Object.assign(Re.Lang.En,Me),Re.Python=Gu,Re.generator=Gu,ce.Profile.default={},Object.assign(ce.Profile,lH),Object.assign(ce.Profile.default,lH["元控自立(SOWL)"]),Object.assign(Re.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,x,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,b,Y,G,he,me),Object.assign(Re.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Ee,Oe)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/index.xml b/boards/default/micropython_esp32s2/index.xml index 8cf0e41c..43200dbf 100644 --- a/boards/default/micropython_esp32s2/index.xml +++ b/boards/default/micropython_esp32s2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixly3820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixly3820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js b/boards/default/micropython_esp32s2/main.bundle.e909955e.js similarity index 83% rename from boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js rename to boards/default/micropython_esp32s2/main.bundle.e909955e.js index c7dcc7c5..c46fc31b 100644 --- a/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js +++ b/boards/default/micropython_esp32s2/main.bundle.e909955e.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(xt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(xt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},le={init:function(){this.setColour(xt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},de={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ve={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ye=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ye={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},vn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},bn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},da=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},vu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},tl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},el={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},vl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},mm={init:function(){this.jsonInit({colour:om,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},Em={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Om={init:function(){this.setColour(om),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Om.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Rm={init:function(){this.setColour(om),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},cm={init:function(){this.setColour(om),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},gm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Cm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Sm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Am={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Lm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Nm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Xm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(Xm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ym={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(om),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Gm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Um={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Wm.IMAGES),"path"),this.setColour(om),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Jm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},zm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},jm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(jm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},tE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:om,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.jsonInit({colour:om,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},aE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},uE={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(om),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},hE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},EE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OE={init:function(){this.setColour(om),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},RE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){um.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Im.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE=180,fE={init:function(){this.setColour(DE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},FE={init:function(){this.setColour(DE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},PE={init:function(){this.setColour(DE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(PE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},vE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE="#777777",bE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},AO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},PO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},vO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},bO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},VO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},BO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},GO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},UO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(EO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},HO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},WO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=OO,zO=RO,jO=cO,$O=gO,ZO=SO,tR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eR=tR,iR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},_R={init:function(){this.setColour(EO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR=225,TR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},MR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},hR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},mR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ER={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},RR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},cR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},gR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},CR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},SR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AR={init:function(){this.setColour(IR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},LR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},NR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},DR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},fR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},FR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},PR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},vR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},YR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},XR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},yR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},bR={init:function(){this.setColour(IR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xR={init:function(){this.appendValueInput("VAL"),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(xR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},VR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(VR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},BR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},GR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},UR="#3288dd",wR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},HR={init:function(){this.appendValueInput("VAL"),this.setColour(UR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(HR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},WR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},KR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR={init:function(){this.setColour(UR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},qR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},jR=100,$R={init:function(){this.setColour(jR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZR={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ec={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},nc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},sc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc="#A58C5B",pc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},ac={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},uc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},lc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Ic={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Tc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Tc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},hc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ec={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},Oc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},cc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},gc={init:function(){this.setColour(oc),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Sc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ac={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Gc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Uc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},$c={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},tg={init:function(){this.setColour(oc),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},eg={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},ng={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},sg={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_g={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},og={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},pg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},ag={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},tv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ev=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},iv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},sv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},_v=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ov=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},av=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},lv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},dv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Tv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Mv=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},mv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},Ev=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Ov=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},cv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},gv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},Sv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Av=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Lv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Dv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},fv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Pv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},vv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Yv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Xv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},Bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Gv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},Qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},zv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},$v=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},tY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},eY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},iY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},nY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},sY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},_Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},oY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},pY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},aY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},uY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},rY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},lY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},dY=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},_X=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},oX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},pX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},aX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},uX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},rX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},lX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},dX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},IX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},TX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},MX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},hX=iY,mX=cY,EX=EY,OX=cY,RX=gY,cX=TY,gX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},CX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},SX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},kG=function(){return"control.reset()\n"},HG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},WG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},KG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},JG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},qG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},QG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},zG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},jG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},$G=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},ZG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},tU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},eU=function(){return"while True:\n pass\n"},iU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},nU=function(t,e){return e.definitions_.import_os="import os","os.uname()"},sU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},_U=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},oU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},aU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},uU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},rU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},lU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},dU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},IU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},TU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},MU=uU,hU=rU,mU=aU,EU=sU,OU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},CU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},PU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:yU}=ct,bU=yU.render(XU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:xU}=ct,VU=xU.render(XU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:BU}=ct,GU=BU.render(XU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),UU=new Rt.Generator("Python");UU.INDENT=" ",UU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),UU.ORDER_ATOMIC=0,UU.ORDER_COLLECTION=1,UU.ORDER_STRING_CONVERSION=1,UU.ORDER_UNARY_POSTFIX=1,UU.ORDER_UNARY_PREFIX=2,UU.ORDER_MEMBER=2.1,UU.ORDER_FUNCTION_CALL=2.2,UU.ORDER_EXPONENTIATION=3,UU.ORDER_UNARY_SIGN=4,UU.ORDER_BITWISE_NOT=4,UU.ORDER_MULTIPLICATIVE=5,UU.ORDER_ADDITIVE=6,UU.ORDER_BITWISE_SHIFT=7,UU.ORDER_BITWISE_AND=8,UU.ORDER_BITWISE_XOR=9,UU.ORDER_BITWISE_OR=10,UU.ORDER_RELATIONAL=11,UU.ORDER_EQUALITY=11,UU.ORDER_LOGICAL_NOT=12,UU.ORDER_LOGICAL_AND=13,UU.ORDER_LOGICAL_OR=14,UU.ORDER_ASSIGNMENT=14,UU.ORDER_CONDITIONAL=15,UU.ORDER_LAMBDA=16,UU.ORDER_NONE=99,UU.ORDER_OVERRIDES=[[UU.ORDER_FUNCTION_CALL,UU.ORDER_MEMBER],[UU.ORDER_FUNCTION_CALL,UU.ORDER_FUNCTION_CALL],[UU.ORDER_MEMBER,UU.ORDER_MEMBER],[UU.ORDER_MEMBER,UU.ORDER_FUNCTION_CALL]],UU.init=function(){UU.PASS=this.INDENT+"pass\n",UU.definitions_=Object.create(null),UU.functionNames_=Object.create(null),UU.setups_=Object.create(null),UU.loops_=Object.create(null),UU.codeEnd_=Object.create(null),UU.variableDB_?UU.variableDB_.reset():UU.variableDB_=new At(UU.RESERVED_WORDS_)},UU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in UU.functions_)o.push(UU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in UU.setups_)p.push(UU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in UU.loops_)a.push(UU.loops_[s]);var u=[];for(var s in UU.codeEnd_)u.push(UU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},UU.scrubNakedValue=function(t){return t+"\n"},UU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},UU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},UU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,UU.COMMENT_WRAP-3),n+=UU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const wU={};wU["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:ct.Profile.generate(["0-18","21-46"]),input_pin:ct.Profile.generate(["0-18","21-46"]),output_pin:ct.Profile.generate(["0-18","21-45"]),pwm_input:ct.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-18","21-45"]),pwm:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-18"]),analog:ct.Profile.generate(["1-18"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},wU["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-42","45"]),input_pin:ct.Profile.generate(["0-42","45-46"]),output_pin:ct.Profile.generate(["0-42","45"]),pwm_input:ct.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-42","45"]),pwm:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-20"]),analog:ct.Profile.generate(["1-20"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const kU=wU,HU=20,WU={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},KU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},JU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},qU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},QU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},zU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},jU={init:function(){this.setColour(HU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},$U={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ZU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},tw={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ew={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},nw=ZU,sw=ew,_w=jU,ow=$U,pw=230,aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Iw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Tw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Ew={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Pw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},zw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Zw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},tk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},ek=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},nk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},sk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},_k=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},pk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},ak=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},uk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},rk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},lk=rk,dk=rk,Ik=rk,Tk=rk,Mk=rk,hk=rk,mk=rk,Ek=rk,Ok=rk,Rk=rk,ck=rk,gk=rk,Ck=rk,Sk=rk,Ak=rk,Lk=rk,Nk=rk,Dk=rk,fk=rk,Fk=rk,Pk=rk,vk=rk,Yk=rk,Xk=rk,yk=rk,bk=rk,xk=rk,Vk=rk,Bk=rk,Gk=rk,Uk=rk,wk=rk,kk=rk,Hk=rk,Wk=rk,Kk=rk,Jk=rk,qk=rk,Qk=rk,zk=rk,jk=rk,$k=rk,Zk=rk,tH=rk,eH=rk;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,It),Object.assign(Rt.Lang.ZhHant,Tt),Object.assign(Rt.Lang.En,Mt),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,kU),Object.assign(ct.Profile.default,kU["MixGo CE"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,y,x,P,v,Y,ht,mt),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,lt,rt,tt,_t,dt,Q,ut,at,pt,ot,z,q,J,it,et,nt,j,$,Z,Et,Ot)})(); \ No newline at end of file +class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(xt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(xt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},le={init:function(){this.setColour(xt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},de={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ve={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ye=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ye={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},vn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},bn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},da=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},vu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},tl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},el={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},vl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},mm={init:function(){this.jsonInit({colour:om,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},Em={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Om={init:function(){this.setColour(om),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Om.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Rm={init:function(){this.setColour(om),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},cm={init:function(){this.setColour(om),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},gm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Cm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Sm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Am={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Lm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Nm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Xm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(Xm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ym={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(om),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Gm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Um={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Wm.IMAGES),"path"),this.setColour(om),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Jm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},zm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},jm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(jm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},tE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:om,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.jsonInit({colour:om,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},aE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},uE={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(om),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},hE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},EE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OE={init:function(){this.setColour(om),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},RE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){um.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Im.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE=180,fE={init:function(){this.setColour(DE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},FE={init:function(){this.setColour(DE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},PE={init:function(){this.setColour(DE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(PE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},vE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE="#777777",bE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},AO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},PO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},vO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},bO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},VO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},BO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},GO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},UO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(EO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},HO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},WO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=OO,zO=RO,jO=cO,$O=gO,ZO=SO,tR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eR=tR,iR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},_R={init:function(){this.setColour(EO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR=225,TR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},MR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},hR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},mR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ER={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},RR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},cR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},gR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},CR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},SR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AR={init:function(){this.setColour(IR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},LR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},NR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},DR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},fR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},FR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},PR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},vR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},YR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},XR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},yR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},bR={init:function(){this.setColour(IR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xR={init:function(){this.appendValueInput("VAL"),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(xR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},VR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(VR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},BR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},GR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},UR="#3288dd",wR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},HR={init:function(){this.appendValueInput("VAL"),this.setColour(UR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(HR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},WR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},KR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR={init:function(){this.setColour(UR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},qR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},jR=100,$R={init:function(){this.setColour(jR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZR={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ec={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},nc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},sc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc="#A58C5B",pc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},ac={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},uc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},lc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Ic={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Tc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Tc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},hc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ec={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},Oc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},cc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},gc={init:function(){this.setColour(oc),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Sc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ac={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Gc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Uc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},$c={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},tg={init:function(){this.setColour(oc),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},eg={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},ng={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},sg={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_g={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},og={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},pg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},ag={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},tv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ev=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},iv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},sv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},_v=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ov=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},av=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},lv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},dv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Tv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Mv=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},mv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},Ev=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Ov=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},cv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},gv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},Sv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Av=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Lv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Dv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},fv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Pv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},vv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Yv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Xv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},Bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Gv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},Qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},zv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},$v=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},tY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},eY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},iY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},nY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform()))return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},sY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},_Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},oY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},pY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},aY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},uY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},rY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},lY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},dY=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},_X=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},oX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},pX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},aX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},uX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},rX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},lX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},dX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},IX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},TX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},MX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},hX=iY,mX=cY,EX=EY,OX=cY,RX=gY,cX=TY,gX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},CX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},SX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},kG=function(){return"control.reset()\n"},HG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},WG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},KG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},JG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},qG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},QG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},zG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},jG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},$G=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},ZG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},tU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},eU=function(){return"while True:\n pass\n"},iU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},nU=function(t,e){return e.definitions_.import_os="import os","os.uname()"},sU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},_U=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},oU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},aU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},uU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},rU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},lU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},dU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},IU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},TU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},MU=uU,hU=rU,mU=aU,EU=sU,OU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},CU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},PU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:yU}=ct,bU=yU.render(XU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:xU}=ct,VU=xU.render(XU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:BU}=ct,GU=BU.render(XU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),UU=new Rt.Generator("Python");UU.INDENT=" ",UU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),UU.ORDER_ATOMIC=0,UU.ORDER_COLLECTION=1,UU.ORDER_STRING_CONVERSION=1,UU.ORDER_UNARY_POSTFIX=1,UU.ORDER_UNARY_PREFIX=2,UU.ORDER_MEMBER=2.1,UU.ORDER_FUNCTION_CALL=2.2,UU.ORDER_EXPONENTIATION=3,UU.ORDER_UNARY_SIGN=4,UU.ORDER_BITWISE_NOT=4,UU.ORDER_MULTIPLICATIVE=5,UU.ORDER_ADDITIVE=6,UU.ORDER_BITWISE_SHIFT=7,UU.ORDER_BITWISE_AND=8,UU.ORDER_BITWISE_XOR=9,UU.ORDER_BITWISE_OR=10,UU.ORDER_RELATIONAL=11,UU.ORDER_EQUALITY=11,UU.ORDER_LOGICAL_NOT=12,UU.ORDER_LOGICAL_AND=13,UU.ORDER_LOGICAL_OR=14,UU.ORDER_ASSIGNMENT=14,UU.ORDER_CONDITIONAL=15,UU.ORDER_LAMBDA=16,UU.ORDER_NONE=99,UU.ORDER_OVERRIDES=[[UU.ORDER_FUNCTION_CALL,UU.ORDER_MEMBER],[UU.ORDER_FUNCTION_CALL,UU.ORDER_FUNCTION_CALL],[UU.ORDER_MEMBER,UU.ORDER_MEMBER],[UU.ORDER_MEMBER,UU.ORDER_FUNCTION_CALL]],UU.init=function(){UU.PASS=this.INDENT+"pass\n",UU.definitions_=Object.create(null),UU.functionNames_=Object.create(null),UU.setups_=Object.create(null),UU.loops_=Object.create(null),UU.codeEnd_=Object.create(null),UU.variableDB_?UU.variableDB_.reset():UU.variableDB_=new At(UU.RESERVED_WORDS_)},UU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in UU.functions_)o.push(UU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in UU.setups_)p.push(UU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in UU.loops_)a.push(UU.loops_[s]);var u=[];for(var s in UU.codeEnd_)u.push(UU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},UU.scrubNakedValue=function(t){return t+"\n"},UU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},UU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},UU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,UU.COMMENT_WRAP-3),n+=UU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const wU={};wU["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:ct.Profile.generate(["0-18","21-46"]),input_pin:ct.Profile.generate(["0-18","21-46"]),output_pin:ct.Profile.generate(["0-18","21-45"]),pwm_input:ct.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-18","21-45"]),pwm:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-18"]),analog:ct.Profile.generate(["1-18"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},wU["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-42","45"]),input_pin:ct.Profile.generate(["0-42","45-46"]),output_pin:ct.Profile.generate(["0-42","45"]),pwm_input:ct.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-42","45"]),pwm:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-20"]),analog:ct.Profile.generate(["1-20"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const kU=wU,HU=20,WU={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},KU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},JU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},qU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},QU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},zU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},jU={init:function(){this.setColour(HU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},$U={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ZU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},tw={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ew={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},nw=ZU,sw=ew,_w=jU,ow=$U,pw=230,aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Iw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Tw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Ew={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Pw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},zw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Zw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},tk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},ek=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},nk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},sk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},_k=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},pk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},ak=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},uk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},rk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},lk=rk,dk=rk,Ik=rk,Tk=rk,Mk=rk,hk=rk,mk=rk,Ek=rk,Ok=rk,Rk=rk,ck=rk,gk=rk,Ck=rk,Sk=rk,Ak=rk,Lk=rk,Nk=rk,Dk=rk,fk=rk,Fk=rk,Pk=rk,vk=rk,Yk=rk,Xk=rk,yk=rk,bk=rk,xk=rk,Vk=rk,Bk=rk,Gk=rk,Uk=rk,wk=rk,kk=rk,Hk=rk,Wk=rk,Kk=rk,Jk=rk,qk=rk,Qk=rk,zk=rk,jk=rk,$k=rk,Zk=rk,tH=rk,eH=rk;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,It),Object.assign(Rt.Lang.ZhHant,Tt),Object.assign(Rt.Lang.En,Mt),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,kU),Object.assign(ct.Profile.default,kU["MixGo CE"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,y,x,P,v,Y,ht,mt),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,lt,rt,tt,_t,dt,Q,ut,at,pt,ot,z,q,J,it,et,nt,j,$,Z,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/config.json b/boards/default/micropython_esp32s3/config.json index f3b62727..38e8b6b2 100644 --- a/boards/default/micropython_esp32s3/config.json +++ b/boards/default/micropython_esp32s3/config.json @@ -1,6 +1,6 @@ { "board": { - "元控自强": { + "元控自强(SANT)": { "key": "micropython:esp32s3:mixgo_sant", "config": [ { @@ -28,7 +28,7 @@ } ] }, - "元控青春": { + "元控青春(NOVA)": { "key": "micropython:esp32s3:mixgo_nova", "config": [ { @@ -56,7 +56,7 @@ } ] }, - "元控飞翔": { + "元控飞翔(SOAR)": { "key": "micropython:esp32s3:mixgo_soar", "config": [ { diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/01-1-快速入门-你好世界.mix index 67738b9a..96f6a6a7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/01-1-快速入门-你好世界.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/01-1-快速入门-你好世界.mix @@ -1 +1 @@ -WHILETRUEexpression_picture.HeartTRUE你好,米思齐!{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM57Gz5oCd6b2Q77yBJywgY29sb3I9MHhmZmZmKQo= \ No newline at end of file +WHILETRUEexpression_picture.HeartTRUE你好,米思齐!{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM57Gz5oCd6b2Q77yBJywgY29sb3I9MHhmZmZmKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/01-2-快速入门-你好世界2.mix index 73a3412e..c247b5da 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/01-2-快速入门-你好世界2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/01-2-快速入门-你好世界2.mix @@ -1 +1 @@ -WHILETRUEexpression_picture.HeartTRUETRUE你好,米思齐!32505255,255,0#ff0000{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5zY3JvbGwoJ+S9oOWlve+8jOexs+aAnem9kO+8gScsIHk9MzIsIHNpemU9NSwgc3BlZWQ9NSwgc3BhY2U9MCwgY29sb3I9MHhmODAwKQo= \ No newline at end of file +WHILETRUEexpression_picture.HeartTRUETRUE你好,米思齐!32505255,255,0#ff0000{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5zY3JvbGwoJ+S9oOWlve+8jOexs+aAnem9kO+8gScsIHk9MzIsIHNpemU9NSwgc3BlZWQ9NSwgc3BhY2U9MCwgY29sb3I9MHhmODAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/02-1-快速入门-跳动的心.mix index e83fa35a..a6fce35b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/02-1-快速入门-跳动的心.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/02-1-快速入门-跳动的心.mix @@ -1 +1 @@ -WHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/02-2-快速入门-为你心动.mix index 5b4713e4..3db0b447 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/02-2-快速入门-为你心动.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/02-2-快速入门-为你心动.mix @@ -1 +1 @@ -True米思齐0TRUEs1WHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CgpvbmJvYXJkX3RmdC5zaG93cygn57Gz5oCd6b2QJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp0aW1lLnNsZWVwKDEpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +True米思齐0TRUEs1WHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CgpvbmJvYXJkX3RmdC5zaG93cygn57Gz5oCd6b2QJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp0aW1lLnNsZWVwKDEpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/03-1-快速入门-心随我动.mix index 0ebe4122..e40fa392 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/03-1-快速入门-心随我动.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/03-1-快速入门-心随我动.mix @@ -1 +1 @@ -WHILETRUEB1keyexpression_picture.HeartTRUEexpression_picture.Small_heartTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEB1keyexpression_picture.HeartTRUEexpression_picture.Small_heartTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/03-2-快速入门-心随我动2.mix index 597d99fe..c7911211 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/03-2-快速入门-心随我动2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/03-2-快速入门-心随我动2.mix @@ -1 +1 @@ -WHILETRUEANDB1keyB2keyexpression_picture.AngryTRUEB1keyexpression_picture.Small_heartTRUEB2keyexpression_picture.HeartTRUEexpression_picture.HappyTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEFuZ3J5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIZWFydApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGFwcHkKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoQW5ncnksIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBlbGlmIG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxpZiBtaXhnb19ub3ZhLkIya2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGFwcHksIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUEANDB1keyB2keyexpression_picture.AngryTRUEB1keyexpression_picture.Small_heartTRUEB2keyexpression_picture.HeartTRUEexpression_picture.HappyTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEFuZ3J5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIZWFydApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGFwcHkKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoQW5ncnksIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBlbGlmIG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxpZiBtaXhnb19ub3ZhLkIya2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGFwcHksIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/04-1-快速入门-流动的灯.mix index e5d230e7..218a12dc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/04-1-快速入门-流动的灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/04-1-快速入门-流动的灯.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3041i0i0025s0.5000s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCA0LCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3041i0i0025s0.5000s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCA0LCAxKToKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/04-2-快速入门-流动的灯2.mix index 2e26b798..a03da40a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/04-2-快速入门-流动的灯2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/04-2-快速入门-流动的灯2.mix @@ -1 +1 @@ -WHILETRUE0,1,2,3041i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCA0LCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUE0,1,2,3041i0000i0025s0.5000s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBmb3IgaSBpbiByYW5nZSgwLCA0LCAxKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAwLCAyNSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/05-1-过程控制-双键开关.mix index b9359f7c..517ccae8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-1-过程控制-双键开关.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/05-1-过程控制-双键开关.mix @@ -1 +1 @@ -WHILETRUEB1keyexpression_picture.HeartTRUEB2keyTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEB1keyexpression_picture.HeartTRUEB2keyTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/05-2-过程控制-单键开关.mix index c54d8772..0c60c728 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-2-过程控制-单键开关.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/05-2-过程控制-单键开关.mix @@ -1 +1 @@ -WHILETRUEB1keytrueexpression_picture.HeartTRUEB1keyTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEB1keytrueexpression_picture.HeartTRUEB1keyTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/05-3-过程控制-IPO概念.mix index b8b74852..d078c150 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-3-过程控制-IPO概念.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/05-3-过程控制-IPO概念.mix @@ -1 +1 @@ -显示FALSEWHILETRUEB1key显示显示显示expression_picture.HeartTRUETRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuaYvuekuiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S6ID0gbm90IOaYvuekugogICAgaWYg5pi+56S6OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file +显示FALSEWHILETRUEB1key显示显示显示expression_picture.HeartTRUETRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuaYvuekuiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S6ID0gbm90IOaYvuekugogICAgaWYg5pi+56S6OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/06-1-过程控制-声音采集.mix index c09b1a88..4fa19831 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/06-1-过程控制-声音采集.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/06-1-过程控制-声音采集.mix @@ -1 +1 @@ -WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChzb3VuZF9sZXZlbCgpKQogICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file +WHILETRUEMixlys0.01{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChzb3VuZF9sZXZlbCgpKQogICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/06-2-过程控制-看见声音.mix index f2ef124a..5888bf57 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/06-2-过程控制-看见声音.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/06-2-过程控制-看见声音.mix @@ -1 +1 @@ -WHILETRUETRUE0,1,2,301601x0x12750x50MINUS1271intx500300000127255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNvdW5kX2xldmVsCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIGZvciB4IGluIHJhbmdlKDAsIDE2MCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQubGluZSh4LCAxMjcsIHgsICgxMjcgLSBpbnQoKG1hdGhfbWFwKHNvdW5kX2xldmVsKCksIDAsIDMwMDAwLCAwLCAxMjcpKSkpLCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUETRUE0,1,2,301601x0x12750x50MINUS1271intx500300000127255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNvdW5kX2xldmVsCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIGZvciB4IGluIHJhbmdlKDAsIDE2MCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQubGluZSh4LCAxMjcsIHgsICgxMjcgLSBpbnQoKG1hdGhfbWFwKHNvdW5kX2xldmVsKCksIDAsIDMwMDAwLCAwLCAxMjcpKSkpLCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/07-1-过程控制-光强采集.mix index a40d0126..58c8ec69 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/07-1-过程控制-光强采集.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/07-1-过程控制-光强采集.mix @@ -1 +1 @@ -WHILETRUElrTRUETrueMixlyxl03230255,255,0#ffffffTRUETrueMixlyxr08030255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAgcHJpbnQob25ib2FyZF9hbHNfbC5hbHNfdmlzKCksIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihvbmJvYXJkX2Fsc19sLmFsc192aXMoKSksIHg9MCwgeT0zMiwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihvbmJvYXJkX2Fsc19yLmFsc192aXMoKSksIHg9MCwgeT04MCwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUElrTRUETrueMixlyxl03230255,255,0#ffffffTRUETrueMixlyxr08030255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAgcHJpbnQob25ib2FyZF9hbHNfbC5hbHNfdmlzKCksIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihvbmJvYXJkX2Fsc19sLmFsc192aXMoKSksIHg9MCwgeT0zMiwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihvbmJvYXJkX2Fsc19yLmFsc192aXMoKSksIHg9MCwgeT04MCwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/07-2-过程控制-自动补光.mix index 6bab2e3f..6487d9d1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/07-2-过程控制-自动补光.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/07-2-过程控制-自动补光.mix @@ -1 +1 @@ -当前光强左0补光大小左0当前光强右0补光大小右0WHILETRUE当前光强左intxl当前光强右intxrTrueMixlyx左:{} 右:{}lr06410255,255,0#ffffffTRUE补光大小左1000MINUS251当前光强左025补光大小右1000MINUS251当前光强右02500补光大小左0补光大小左0补光大小左30补光大小右0补光大小右0补光大小右s0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHRpbWUKCuW9k+WJjeWFieW8uuW3piA9IDAK6KGl5YWJ5aSn5bCP5bemID0gMArlvZPliY3lhYnlvLrlj7MgPSAwCuihpeWFieWkp+Wwj+WPsyA9IDAKd2hpbGUgVHJ1ZToKICAgIOW9k+WJjeWFieW8uuW3piA9IGludChvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkKICAgIOW9k+WJjeWFieW8uuWPsyA9IGludChvbmJvYXJkX2Fsc19yLmFsc192aXMoKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cign5bemOnt9IOWPszp7fScuZm9ybWF0KG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpLCBvbmJvYXJkX2Fsc19yLmFsc192aXMoKSkpLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICDooaXlhYnlpKflsI/lt6YgPSBtaW4obWF4KDI1IC0g5b2T5YmN5YWJ5by65bemLCAwKSwgMjUpCiAgICDooaXlhYnlpKflsI/lj7MgPSBtaW4obWF4KDI1IC0g5b2T5YmN5YWJ5by65Y+zLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYlswXSA9ICjooaXlhYnlpKflsI/lt6YsIOihpeWFieWkp+Wwj+W3piwg6KGl5YWJ5aSn5bCP5bemKQogICAgb25ib2FyZF9yZ2JbM10gPSAo6KGl5YWJ5aSn5bCP5Y+zLCDooaXlhYnlpKflsI/lj7MsIOihpeWFieWkp+Wwj+WPsykKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +当前光强左0补光大小左0当前光强右0补光大小右0WHILETRUE当前光强左intxl当前光强右intxrTrueMixlyx左:{} 右:{}lr06410255,255,0#ffffffTRUE补光大小左1000MINUS251当前光强左025补光大小右1000MINUS251当前光强右02500补光大小左0补光大小左0补光大小左30补光大小右0补光大小右0补光大小右s0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHRpbWUKCuW9k+WJjeWFieW8uuW3piA9IDAK6KGl5YWJ5aSn5bCP5bemID0gMArlvZPliY3lhYnlvLrlj7MgPSAwCuihpeWFieWkp+Wwj+WPsyA9IDAKd2hpbGUgVHJ1ZToKICAgIOW9k+WJjeWFieW8uuW3piA9IGludChvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkKICAgIOW9k+WJjeWFieW8uuWPsyA9IGludChvbmJvYXJkX2Fsc19yLmFsc192aXMoKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cign5bemOnt9IOWPszp7fScuZm9ybWF0KG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpLCBvbmJvYXJkX2Fsc19yLmFsc192aXMoKSkpLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICDooaXlhYnlpKflsI/lt6YgPSBtaW4obWF4KDI1IC0g5b2T5YmN5YWJ5by65bemLCAwKSwgMjUpCiAgICDooaXlhYnlpKflsI/lj7MgPSBtaW4obWF4KDI1IC0g5b2T5YmN5YWJ5by65Y+zLCAwKSwgMjUpCiAgICBvbmJvYXJkX3JnYlswXSA9ICjooaXlhYnlpKflsI/lt6YsIOihpeWFieWkp+Wwj+W3piwg6KGl5YWJ5aSn5bCP5bemKQogICAgb25ib2FyZF9yZ2JbM10gPSAo6KGl5YWJ5aSn5bCP5Y+zLCDooaXlhYnlpKflsI/lj7MsIOihpeWFieWkp+Wwj+WPsykKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/08-1-过程控制-接近检测.mix index 3ea8771e..998617ab 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/08-1-过程控制-接近检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/08-1-过程控制-接近检测.mix @@ -1 +1 @@ -接近距离0WHILETRUE接近距离intxlMixly接近距离TrueMixlyx接近距离0TRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCuaOpei/kei3neemuyA9IDAKd2hpbGUgVHJ1ZToKICAgIOaOpei/kei3neemuyA9IGludChvbmJvYXJkX2Fsc19sLnBzX25sKCkpCiAgICBwcmludCjmjqXov5Hot53nprspCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5o6l6L+R6Led56a7KSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +接近距离0WHILETRUE接近距离intxlMixly接近距离TrueMixlyx接近距离0TRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCuaOpei/kei3neemuyA9IDAKd2hpbGUgVHJ1ZToKICAgIOaOpei/kei3neemuyA9IGludChvbmJvYXJkX2Fsc19sLnBzX25sKCkpCiAgICBwcmludCjmjqXov5Hot53nprspCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5o6l6L+R6Led56a7KSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/08-2-过程控制-入侵报警.mix index 7588775c..92682ac7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/08-2-过程控制-入侵报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/08-2-过程控制-入侵报警.mix @@ -1 +1 @@ -接近距离左0接近距离右0是否报警FALSEWHILETRUE接近距离左intxl接近距离右intxrTRUETrueMixly{} {}接近距离左接近距离右06420255,255,0#ffffffTRUE是否报警GTADD1接近距离左1接近距离右2000是否报警spk_midi.DADADADUM{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCuaOpei/kei3neemu+W3piA9IDAK5o6l6L+R6Led56a75Y+zID0gMArmmK/lkKbmiqXoraYgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg5o6l6L+R6Led56a75bemID0gaW50KG9uYm9hcmRfYWxzX2wucHNfbmwoKSkKICAgIOaOpei/kei3neemu+WPsyA9IGludChvbmJvYXJkX2Fsc19yLnBzX25sKCkpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ3t9IHt9Jy5mb3JtYXQo5o6l6L+R6Led56a75bemLCDmjqXov5Hot53nprvlj7MpLCB4PTAsIHk9NjQsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICDmmK/lkKbmiqXoraYgPSDmjqXov5Hot53nprvlt6YgKyDmjqXov5Hot53nprvlj7MgPiAyMDAwCiAgICBpZiDmmK/lkKbmiqXoraY6CiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCg== \ No newline at end of file +接近距离左0接近距离右0是否报警FALSEWHILETRUE接近距离左intxl接近距离右intxrTRUETrueMixly{} {}接近距离左接近距离右06420255,255,0#ffffffTRUE是否报警GTADD1接近距离左1接近距离右2000是否报警spk_midi.DADADADUM{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCuaOpei/kei3neemu+W3piA9IDAK5o6l6L+R6Led56a75Y+zID0gMArmmK/lkKbmiqXoraYgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg5o6l6L+R6Led56a75bemID0gaW50KG9uYm9hcmRfYWxzX2wucHNfbmwoKSkKICAgIOaOpei/kei3neemu+WPsyA9IGludChvbmJvYXJkX2Fsc19yLnBzX25sKCkpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ3t9IHt9Jy5mb3JtYXQo5o6l6L+R6Led56a75bemLCDmjqXov5Hot53nprvlj7MpLCB4PTAsIHk9NjQsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICDmmK/lkKbmiqXoraYgPSDmjqXov5Hot53nprvlt6YgKyDmjqXov5Hot53nprvlj7MgPiAyMDAwCiAgICBpZiDmmK/lkKbmiqXoraY6CiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/09-1-输入输出-加速度.mix index a535db70..f4fa8982 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/09-1-输入输出-加速度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/09-1-输入输出-加速度.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/09-2-输入输出-平衡仪.mix index 0fb5ad38..4bff3d03 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/09-2-输入输出-平衡仪.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/09-2-输入输出-平衡仪.mix @@ -1 +1 @@ -x80y64WHILETRUELT[0]-0.1MINUSx5GT[0]0.1ADDx5LT[1]-0.1MINUSy5GT[1]0.1ADDy5x1000x0150y1000y0125TRUETrue60x60y5255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp4ID0gODAKeSA9IDY0CndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjE6CiAgICAgICAgeCAtPSA1CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMToKICAgICAgICB4ICs9IDUKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMToKICAgICAgICB5IC09IDUKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMC4xOgogICAgICAgIHkgKz0gNQogICAgeCA9IG1pbihtYXgoeCwgMCksIDE1MCkKICAgIHkgPSBtaW4obWF4KHksIDApLCAxMjUpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZWxsaXBzZSh4LCB5LCA1LCA1LCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +x80y64WHILETRUELT[0]-0.1MINUSx5GT[0]0.1ADDx5LT[1]-0.1MINUSy5GT[1]0.1ADDy5x1000x0150y1000y0125TRUETrue60x60y5255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp4ID0gODAKeSA9IDY0CndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjE6CiAgICAgICAgeCAtPSA1CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMToKICAgICAgICB4ICs9IDUKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMToKICAgICAgICB5IC09IDUKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMC4xOgogICAgICAgIHkgKz0gNQogICAgeCA9IG1pbihtYXgoeCwgMCksIDE1MCkKICAgIHkgPSBtaW4obWF4KHksIDApLCAxMjUpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZWxsaXBzZSh4LCB5LCA1LCA1LCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/10-1-输入输出-温湿度.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/10-1-输入输出-温湿度.mix index bacf8ead..c86c811e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/10-1-输入输出-温湿度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/10-1-输入输出-温湿度.mix @@ -1 +1 @@ -WHILETRUETrueMixly温度:Mixlyxintxtemperature03220255,255,0#ffffffTRUETrueMixly湿度:Mixlyxintxhumidity06420255,255,0#ffffffTRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGhzCmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4qeW6pjonICsgc3RyKGludChvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpKSksIHg9MCwgeT0zMiwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqY6JyArIHN0cihpbnQob25ib2FyZF90aHMuaHVtaWRpdHkoKSkpLCB4PTAsIHk9NjQsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUETrueMixly温度:Mixlyxintxtemperature03220255,255,0#ffffffTRUETrueMixly湿度:Mixlyxintxhumidity06420255,255,0#ffffffTRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGhzCmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4qeW6pjonICsgc3RyKGludChvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpKSksIHg9MCwgeT0zMiwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqY6JyArIHN0cihpbnQob25ib2FyZF90aHMuaHVtaWRpdHkoKSkpLCB4PTAsIHk9NjQsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/10-2-输入输出-地磁金属探测.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/10-2-输入输出-地磁金属探测.mix index 3673e77a..f9ee4956 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/10-2-输入输出-地磁金属探测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/10-2-输入输出-地磁金属探测.mix @@ -1 +1 @@ -WHILETRUETrueMixlyxall0TRUEGTall2000659100{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIob25ib2FyZF9tZ3MuZ2V0c3RyZW5ndGgoKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIG9uYm9hcmRfbWdzLmdldHN0cmVuZ3RoKCkgPiAyMDAwOgogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +WHILETRUETrueMixlyxall0TRUEGTall2000659100{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX21ncwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIob25ib2FyZF9tZ3MuZ2V0c3RyZW5ndGgoKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIG9uYm9hcmRfbWdzLmdldHN0cmVuZ3RoKCkgPiAyMDAwOgogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/11-1-输入输出-数字触摸.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/11-1-输入输出-数字触摸.mix index 5f86caaf..aea46165 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/11-1-输入输出-数字触摸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/11-1-输入输出-数字触摸.mix @@ -1 +1 @@ -WHILETRUE0000MULTIPLY20131000MULTIPLY2014{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWl4Z29fbm92YQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAwLCAoMjAgKiBtaXhnb19ub3ZhLnRvdWNoZWQoMykpKQogICAgb25ib2FyZF9yZ2JbMV0gPSAoMCwgMCwgKDIwICogbWl4Z29fbm92YS50b3VjaGVkKDQpKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +WHILETRUE0000MULTIPLY20131000MULTIPLY2014{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWl4Z29fbm92YQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAwLCAoMjAgKiBtaXhnb19ub3ZhLnRvdWNoZWQoMykpKQogICAgb25ib2FyZF9yZ2JbMV0gPSAoMCwgMCwgKDIwICogbWl4Z29fbm92YS50b3VjaGVkKDQpKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/11-2-输入输出-模拟触摸.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/11-2-输入输出-模拟触摸.mix index 4fa48b5b..fbbbcaa6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/11-2-输入输出-模拟触摸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/11-2-输入输出-模拟触摸.mix @@ -1 +1 @@ -WHILETRUEMixly0000round0.99850-15000025501000round0.998500150000255{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAoKCndoaWxlIFRydWU6CiAgICBwcmludChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMCwgcm91bmQobWF0aF9tYXAobWl4Z29fbm92YS50b3VjaF9zbGlkZSgzLCA0KSwgKC0xNTAwMCksIDAsIDI1NSwgMCkpKQogICAgb25ib2FyZF9yZ2JbMV0gPSAoMCwgMCwgcm91bmQobWF0aF9tYXAobWl4Z29fbm92YS50b3VjaF9zbGlkZSgzLCA0KSwgMCwgMTUwMDAsIDAsIDI1NSkpKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file +WHILETRUEMixly0000round0.99850-15000025501000round0.998500150000255{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAoKCndoaWxlIFRydWU6CiAgICBwcmludChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMCwgcm91bmQobWF0aF9tYXAobWl4Z29fbm92YS50b3VjaF9zbGlkZSgzLCA0KSwgKC0xNTAwMCksIDAsIDI1NSwgMCkpKQogICAgb25ib2FyZF9yZ2JbMV0gPSAoMCwgMCwgcm91bmQobWF0aF9tYXAobWl4Z29fbm92YS50b3VjaF9zbGlkZSgzLCA0KSwgMCwgMTUwMDAsIDAsIDI1NSkpKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/12-1-输入输出-实时时钟.mix index 2a9e3784..c1c8cd3e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/12-1-输入输出-实时时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/12-1-输入输出-实时时钟.mix @@ -1 +1 @@ -2025,3,25,16,28,27WHILETRUEMixlyTrueMixly0TRUEs1{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDMsMjUsMTYsMjgsMjcpKQp3aGlsZSBUcnVlOgogICAgcHJpbnQodGltZS5sb2NhbHRpbWUoKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +2025,3,25,16,28,27WHILETRUEMixlyTrueMixly0TRUEs1{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDMsMjUsMTYsMjgsMjcpKQp3aGlsZSBUcnVlOgogICAgcHJpbnQodGltZS5sb2NhbHRpbWUoKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/12-2-输入输出-实时时钟2.mix index 23651aff..a1e8acc1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/12-2-输入输出-实时时钟2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/12-2-输入输出-实时时钟2.mix @@ -1 +1 @@ -new_clock806440255,255,0#ffffff2025,3,25,16,29,13WHILETRUEnew_clocknew_clock0,0,0#000000new_clocks1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBDbG9jawppbXBvcnQgcnRjdGltZQppbXBvcnQgdGltZQoKCm5ld19jbG9jaz1DbG9jayg4MCwgNjQsIDQwLCAweGZmZmYpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSwzLDI1LDE2LDI5LDEzKSkKd2hpbGUgVHJ1ZToKICAgIG5ld19jbG9jay5zZXRfcnRjdGltZSgpCiAgICBuZXdfY2xvY2suY2xlYXIoMHgwKQogICAgbmV3X2Nsb2NrLmRyYXdfY2xvY2soKQogICAgdGltZS5zbGVlcCgxKQo=">1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBDbG9jawppbXBvcnQgbnRwdGltZQppbXBvcnQgdGltZQoKCm5ld19jbG9jaz1DbG9jayg4MCw2NCw0MCwweGZmZmYpCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG5ld19jbG9jay5zZXRfcnRjdGltZSgpCiAgICBuZXdfY2xvY2suY2xlYXIoMHgwKQogICAgbmV3X2Nsb2NrLmRyYXdfY2xvY2soKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +new_clock806440255,255,0#ffffff2025,3,25,16,29,13WHILETRUEnew_clocknew_clock0,0,0#000000new_clocks1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBDbG9jawppbXBvcnQgcnRjdGltZQppbXBvcnQgdGltZQoKCm5ld19jbG9jaz1DbG9jayg4MCwgNjQsIDQwLCAweGZmZmYpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSwzLDI1LDE2LDI5LDEzKSkKd2hpbGUgVHJ1ZToKICAgIG5ld19jbG9jay5zZXRfcnRjdGltZSgpCiAgICBuZXdfY2xvY2suY2xlYXIoMHgwKQogICAgbmV3X2Nsb2NrLmRyYXdfY2xvY2soKQogICAgdGltZS5zbGVlcCgxKQo=">1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBDbG9jawppbXBvcnQgbnRwdGltZQppbXBvcnQgdGltZQoKCm5ld19jbG9jaz1DbG9jayg4MCw2NCw0MCwweGZmZmYpCm50cHRpbWUuc2V0dGltZSgoMjAyNCw0LDIsMjEsMDQsNDUsMCwwKSkKd2hpbGUgVHJ1ZToKICAgIG5ld19jbG9jay5zZXRfcnRjdGltZSgpCiAgICBuZXdfY2xvY2suY2xlYXIoMHgwKQogICAgbmV3X2Nsb2NrLmRyYXdfY2xvY2soKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/13-1-逻辑计算-手速测试.mix index b10028ea..9f38702c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/13-1-逻辑计算-手速测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/13-1-逻辑计算-手速测试.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0TRUE{}aW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7ID0gMArmiqzotbfml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oqs6LW35pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgcHJpbnQoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmiqzotbfml7bliLsgLSDmjInkuIvml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0TRUE{}aW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7ID0gMArmiqzotbfml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oqs6LW35pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgcHJpbnQoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmiqzotbfml7bliLsgLSDmjInkuIvml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/13-2-逻辑计算-手速测试2.mix index f21f698d..0762d3b9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/13-2-逻辑计算-手速测试2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/13-2-逻辑计算-手速测试2.mix @@ -1 +1 @@ -按下时刻0剩余时间10按下次数0WHILETRUETrueMixly{}|{}x剩余时间x按下次数0TRUEB1keyEQ按下时刻0按下时刻mstrueB1keyNEQ剩余时间0ADD按下次数1剩余时间max1MINUS101ZHENGCHU1MINUS1ms1按下时刻10000B2key按下时刻0按下次数0剩余时间10{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoK5oyJ5LiL5pe25Yi7ID0gMArliankvZnml7bpl7QgPSAxMArmjInkuIvmrKHmlbAgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygne318e30nLmZvcm1hdChzdHIo5Ymp5L2Z5pe26Ze0KSwgc3RyKOaMieS4i+asoeaVsCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBpZiDmjInkuIvml7bliLsgPT0gMDoKICAgICAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIOWJqeS9meaXtumXtCAhPSAwOgogICAgICAgICAgICDmjInkuIvmrKHmlbAgKz0gMQogICAgICAgICAgICDliankvZnml7bpl7QgPSBtYXgoMTAgLSAodGltZS50aWNrc19tcygpIC0g5oyJ5LiL5pe25Yi7KSAvLyAxMDAwLCAwKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gMAogICAgICAgIOaMieS4i+asoeaVsCA9IDAKICAgICAgICDliankvZnml7bpl7QgPSAxMAo= \ No newline at end of file +按下时刻0剩余时间10按下次数0WHILETRUETrueMixly{}|{}x剩余时间x按下次数0TRUEB1keyEQ按下时刻0按下时刻mstrueB1keyNEQ剩余时间0ADD按下次数1剩余时间max1MINUS101ZHENGCHU1MINUS1ms1按下时刻10000B2key按下时刻0按下次数0剩余时间10{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoK5oyJ5LiL5pe25Yi7ID0gMArliankvZnml7bpl7QgPSAxMArmjInkuIvmrKHmlbAgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygne318e30nLmZvcm1hdChzdHIo5Ymp5L2Z5pe26Ze0KSwgc3RyKOaMieS4i+asoeaVsCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBpZiDmjInkuIvml7bliLsgPT0gMDoKICAgICAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIOWJqeS9meaXtumXtCAhPSAwOgogICAgICAgICAgICDmjInkuIvmrKHmlbAgKz0gMQogICAgICAgICAgICDliankvZnml7bpl7QgPSBtYXgoMTAgLSAodGltZS50aWNrc19tcygpIC0g5oyJ5LiL5pe25Yi7KSAvLyAxMDAwLCAwKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gMAogICAgICAgIOaMieS4i+asoeaVsCA9IDAKICAgICAgICDliankvZnml7bpl7QgPSAxMAo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/14-1-逻辑计算-反应测试.mix index fa5dcfe5..8019dce5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/14-1-逻辑计算-反应测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/14-1-逻辑计算-反应测试.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0间隔时间0WHILETRUEs1float1221亮灯时刻mstrueB1key按下时刻ms20间隔时间MINUS1按下时刻1亮灯时刻Mixly间隔时间TrueMixlyx间隔时间0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArpl7TpmpTml7bpl7QgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAg6Ze06ZqU5pe26Ze0ID0g5oyJ5LiL5pe25Yi7IC0g5Lqu54Gv5pe25Yi7CiAgICBwcmludCjpl7TpmpTml7bpl7QpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo6Ze06ZqU5pe26Ze0KSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +亮灯时刻0按下时刻0间隔时间0WHILETRUEs1float1221亮灯时刻mstrueB1key按下时刻ms20间隔时间MINUS1按下时刻1亮灯时刻Mixly间隔时间TrueMixlyx间隔时间0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArpl7TpmpTml7bpl7QgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAg6Ze06ZqU5pe26Ze0ID0g5oyJ5LiL5pe25Yi7IC0g5Lqu54Gv5pe25Yi7CiAgICBwcmludCjpl7TpmpTml7bpl7QpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo6Ze06ZqU5pe26Ze0KSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/14-2-逻辑计算-反应测试2.mix index bdf0dfb0..cfb88d43 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/14-2-逻辑计算-反应测试2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/14-2-逻辑计算-反应测试2.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0间隔时间0亮灯编号0WHILETRUEs1float12亮灯编号int01EQ亮灯编号01121亮灯时刻mstrueORB1keyB2key1020ORANDB1keyEQ亮灯编号0ANDB2keyEQ亮灯编号1按下时刻ms间隔时间MINUS1按下时刻1亮灯时刻Mixly间隔时间Trueerrorx间隔时间0TRUETrueerror0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArpl7TpmpTml7bpl7QgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiDkuq7nga/nvJblj7cgPT0gMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgaWYgKG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCDkuq7nga/nvJblj7cgPT0gMCkgb3IgKG1peGdvX25vdmEuQjJrZXkuaXNfcHJlc3NlZCgpIGFuZCDkuq7nga/nvJblj7cgPT0gMSk6CiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAg6Ze06ZqU5pe26Ze0ID0g5oyJ5LiL5pe25Yi7IC0g5Lqu54Gv5pe25Yi7CiAgICAgICAgcHJpbnQo6Ze06ZqU5pe26Ze0KQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijpl7TpmpTml7bpl7QpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdlcnJvcicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +亮灯时刻0按下时刻0间隔时间0亮灯编号0WHILETRUEs1float12亮灯编号int01EQ亮灯编号01121亮灯时刻mstrueORB1keyB2key1020ORANDB1keyEQ亮灯编号0ANDB2keyEQ亮灯编号1按下时刻ms间隔时间MINUS1按下时刻1亮灯时刻Mixly间隔时间Trueerrorx间隔时间0TRUETrueerror0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArpl7TpmpTml7bpl7QgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDAsIDEpCiAgICBpZiDkuq7nga/nvJblj7cgPT0gMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgaWYgKG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpIGFuZCDkuq7nga/nvJblj7cgPT0gMCkgb3IgKG1peGdvX25vdmEuQjJrZXkuaXNfcHJlc3NlZCgpIGFuZCDkuq7nga/nvJblj7cgPT0gMSk6CiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAg6Ze06ZqU5pe26Ze0ID0g5oyJ5LiL5pe25Yi7IC0g5Lqu54Gv5pe25Yi7CiAgICAgICAgcHJpbnQo6Ze06ZqU5pe26Ze0KQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijpl7TpmpTml7bpl7QpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdlcnJvcicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/15-1-逻辑计算-简单打地鼠.mix index 6884f868..8d91b72c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/15-1-逻辑计算-简单打地鼠.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/15-1-逻辑计算-简单打地鼠.mix @@ -1 +1 @@ -图像编号0游戏得分0图像集合WHILETRUEs1float01图像编号int03TrueMixly图像集合0图像编号0TRUEtrueORORA1keyA2keyORA3keyA4keyORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCuWbvuWDj+e8luWPtyA9IDAK5ri45oiP5b6X5YiGID0gMArlm77lg4/pm4blkIg9ICgn4oaTJywgJ+KGkCcsICfihpEnLCAn4oaSJykKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDAsIDEpKSkKICAgIOWbvuWDj+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDAsIDMpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjlm77lg4/pm4blkIhb5Zu+5YOP57yW5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAoKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTJrZXkuaXNfcHJlc3NlZCgpKSBvciAobWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCkpKToKICAgICAgICAgICAgYnJlYWsKICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAwKSBvciAobWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAxKSkgb3IgKChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDIpIG9yIChtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDMpKToKICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIOa4uOaIj+W+l+WIhiAtPSAxCiAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSgxMzEsIDEwMCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmuLjmiI/lvpfliIYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +图像编号0游戏得分0图像集合WHILETRUEs1float01图像编号int03TrueMixly图像集合0图像编号0TRUEtrueORORA1keyA2keyORA3keyA4keyORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCuWbvuWDj+e8luWPtyA9IDAK5ri45oiP5b6X5YiGID0gMArlm77lg4/pm4blkIg9ICgn4oaTJywgJ+KGkCcsICfihpEnLCAn4oaSJykKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDAsIDEpKSkKICAgIOWbvuWDj+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDAsIDMpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjlm77lg4/pm4blkIhb5Zu+5YOP57yW5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAoKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTJrZXkuaXNfcHJlc3NlZCgpKSBvciAobWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCkpKToKICAgICAgICAgICAgYnJlYWsKICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAwKSBvciAobWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAxKSkgb3IgKChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDIpIG9yIChtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDMpKToKICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICBlbHNlOgogICAgICAgIOa4uOaIj+W+l+WIhiAtPSAxCiAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSgxMzEsIDEwMCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmuLjmiI/lvpfliIYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/15-2-逻辑计算-计时打地鼠.mix index 7d9c3918..d4d5cb08 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/15-2-逻辑计算-计时打地鼠.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/15-2-逻辑计算-计时打地鼠.mix @@ -1 +1 @@ -图像编号0游戏得分0亮屏时刻0按下时刻0图像集合WHILETRUEs1float01图像编号int03TrueMixly图像集合0图像编号0TRUE亮屏时刻mstrueORORA1keyA2keyORA3keyA4key按下时刻msANDORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3LTMINUS1按下时刻1亮屏时刻1000ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCuWbvuWDj+e8luWPtyA9IDAK5ri45oiP5b6X5YiGID0gMArkuq7lsY/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Zu+5YOP6ZuG5ZCIPSAoJ+KGkycsICfihpAnLCAn4oaRJywgJ+KGkicpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLCAxKSkpCiAgICDlm77lg4/nvJblj7cgPSByYW5kb20ucmFuZGludCgwLCAzKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5Zu+5YOP6ZuG5ZCIW+WbvuWDj+e8luWPt10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIOS6ruWxj+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAoKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTJrZXkuaXNfcHJlc3NlZCgpKSBvciAobWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCkpKToKICAgICAgICAgICAgYnJlYWsKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgaWYgKCgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAwKSBvciAobWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAxKSkgb3IgKChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDIpIG9yIChtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDMpKSkgYW5kIOaMieS4i+aXtuWIuyAtIOS6ruWxj+aXtuWIuyA8IDEwMDA6CiAgICAgICAg5ri45oiP5b6X5YiGICs9IDEKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgZWxzZToKICAgICAgICDmuLjmiI/lvpfliIYgLT0gMQogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTMxLCAxMDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ri45oiP5b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +图像编号0游戏得分0亮屏时刻0按下时刻0图像集合WHILETRUEs1float01图像编号int03TrueMixly图像集合0图像编号0TRUE亮屏时刻mstrueORORA1keyA2keyORA3keyA4key按下时刻msANDORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3LTMINUS1按下时刻1亮屏时刻1000ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCuWbvuWDj+e8luWPtyA9IDAK5ri45oiP5b6X5YiGID0gMArkuq7lsY/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Zu+5YOP6ZuG5ZCIPSAoJ+KGkycsICfihpAnLCAn4oaRJywgJ+KGkicpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLCAxKSkpCiAgICDlm77lg4/nvJblj7cgPSByYW5kb20ucmFuZGludCgwLCAzKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5Zu+5YOP6ZuG5ZCIW+WbvuWDj+e8luWPt10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIOS6ruWxj+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAoKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTJrZXkuaXNfcHJlc3NlZCgpKSBvciAobWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCkpKToKICAgICAgICAgICAgYnJlYWsKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgaWYgKCgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAwKSBvciAobWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAxKSkgb3IgKChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDIpIG9yIChtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDMpKSkgYW5kIOaMieS4i+aXtuWIuyAtIOS6ruWxj+aXtuWIuyA8IDEwMDA6CiAgICAgICAg5ri45oiP5b6X5YiGICs9IDEKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgZWxzZToKICAgICAgICDmuLjmiI/lvpfliIYgLT0gMQogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTMxLCAxMDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ri45oiP5b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/16-1-逻辑计算-开始打地鼠.mix index 800ef7a5..0d591248 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/16-1-逻辑计算-开始打地鼠.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/16-1-逻辑计算-开始打地鼠.mix @@ -1 +1 @@ -图像编号0游戏得分0亮屏时刻0按下时刻0游戏开始FALSE图像集合WHILETRUE游戏开始s1float01图像编号int03TrueMixly图像集合0图像编号0TRUE亮屏时刻mstrueORORA1keyA2keyORA3keyA4key按下时刻msANDORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3LTMINUS1按下时刻1亮屏时刻1000ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUEB1key游戏开始TRUE0010游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoK5Zu+5YOP57yW5Y+3ID0gMArmuLjmiI/lvpfliIYgPSAwCuS6ruWxj+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQrlm77lg4/pm4blkIg9ICgn4oaTJywgJ+KGkCcsICfihpEnLCAn4oaSJykKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLCAxKSkpCiAgICAgICAg5Zu+5YOP57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMCwgMykKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjlm77lg4/pm4blkIhb5Zu+5YOP57yW5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIOS6ruWxj+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBpZiAoKChtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDApIG9yIChtaXhnb19ub3ZhLkEya2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDEpKSBvciAoKG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMikgb3IgKG1peGdvX25vdmEuQTRrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMykpKSBhbmQg5oyJ5LiL5pe25Yi7IC0g5Lqu5bGP5pe25Yi7IDwgMTAwMDoKICAgICAgICAgICAg5ri45oiP5b6X5YiGICs9IDEKICAgICAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBlbHNlOgogICAgICAgICAgICDmuLjmiI/lvpfliIYgLT0gMQogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmuLjmiI/lvpfliIYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAxMCkpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICAgICAg5ri45oiP5b6X5YiGID0gMAo= \ No newline at end of file +图像编号0游戏得分0亮屏时刻0按下时刻0游戏开始FALSE图像集合WHILETRUE游戏开始s1float01图像编号int03TrueMixly图像集合0图像编号0TRUE亮屏时刻mstrueORORA1keyA2keyORA3keyA4key按下时刻msANDORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3LTMINUS1按下时刻1亮屏时刻1000ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUEB1key游戏开始TRUE0010游戏得分0{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoK5Zu+5YOP57yW5Y+3ID0gMArmuLjmiI/lvpfliIYgPSAwCuS6ruWxj+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQrlm77lg4/pm4blkIg9ICgn4oaTJywgJ+KGkCcsICfihpEnLCAn4oaSJykKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLCAxKSkpCiAgICAgICAg5Zu+5YOP57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMCwgMykKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjlm77lg4/pm4blkIhb5Zu+5YOP57yW5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIOS6ruWxj+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBpZiAoKChtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDApIG9yIChtaXhnb19ub3ZhLkEya2V5LmlzX3ByZXNzZWQoKSBhbmQg5Zu+5YOP57yW5Y+3ID09IDEpKSBvciAoKG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMikgb3IgKG1peGdvX25vdmEuQTRrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMykpKSBhbmQg5oyJ5LiL5pe25Yi7IC0g5Lqu5bGP5pe25Yi7IDwgMTAwMDoKICAgICAgICAgICAg5ri45oiP5b6X5YiGICs9IDEKICAgICAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBlbHNlOgogICAgICAgICAgICDmuLjmiI/lvpfliIYgLT0gMQogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDEzMSwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmuLjmiI/lvpfliIYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAxMCkpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICAgICAg5ri45oiP5b6X5YiGID0gMAo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/16-2-逻辑计算-循环打地鼠.mix index 5d20f261..d3db2518 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/16-2-逻辑计算-循环打地鼠.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/16-2-逻辑计算-循环打地鼠.mix @@ -1 +1 @@ -图像编号0游戏得分0亮屏时刻0按下时刻0游戏开始FALSE图像集合WHILETRUE游戏开始s1float12图像编号int03TrueMixly图像集合0图像编号0TRUE亮屏时刻mstrueORORA1keyA2keyORA3keyA4key按下时刻msANDORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3LTMINUS1按下时刻1亮屏时刻1000ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUEGT游戏得分10游戏开始FALSEB1key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0010游戏得分0游戏开始FALSETruewin0TRUE000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rua4uOaIj+eKtuaAgSgpOgogICAgZ2xvYmFsIOa4uOaIj+W+l+WIhgogICAgZ2xvYmFsIOa4uOaIj+W8gOWniwogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDEwKSkKICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICBlbHNlOgogICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ3dpbicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrlm77lg4/nvJblj7cgPSAwCua4uOaIj+W+l+WIhiA9IDAK5Lqu5bGP5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCuWbvuWDj+mbhuWQiD0gKCfihpMnLCAn4oaQJywgJ+KGkScsICfihpInKQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgICAgICDlm77lg4/nvJblj7cgPSByYW5kb20ucmFuZGludCgwLCAzKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWbvuWDj+mbhuWQiFvlm77lg4/nvJblj7ddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg5Lqu5bGP5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKChtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkEya2V5LmlzX3ByZXNzZWQoKSkgb3IgKG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTRrZXkuaXNfcHJlc3NlZCgpKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIGlmICgoKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMCkgb3IgKG1peGdvX25vdmEuQTJrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMSkpIG9yICgobWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAyKSBvciAobWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAzKSkpIGFuZCDmjInkuIvml7bliLsgLSDkuq7lsY/ml7bliLsgPCAxMDAwOgogICAgICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOa4uOaIj+W+l+WIhiAtPSAxCiAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTMxLCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOa4uOaIj+W+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiDmuLjmiI/lvpfliIYgPiAxMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAg6K6+572u5ri45oiP54q25oCBKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOiuvue9rua4uOaIj+eKtuaAgSgpCg== \ No newline at end of file +图像编号0游戏得分0亮屏时刻0按下时刻0游戏开始FALSE图像集合WHILETRUE游戏开始s1float12图像编号int03TrueMixly图像集合0图像编号0TRUE亮屏时刻mstrueORORA1keyA2keyORA3keyA4key按下时刻msANDORORANDA1keyEQ图像编号0ANDA2keyEQ图像编号1ORANDA3keyEQ图像编号2ANDA4keyEQ图像编号3LTMINUS1按下时刻1亮屏时刻1000ADD游戏得分1988100MINUS游戏得分1131100TrueMixlyx游戏得分0TRUEGT游戏得分10游戏开始FALSEB1key游戏开始TRUE设置游戏状态游戏得分游戏开始游戏开始0010游戏得分0游戏开始FALSETruewin0TRUE000{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rua4uOaIj+eKtuaAgSgpOgogICAgZ2xvYmFsIOa4uOaIj+W+l+WIhgogICAgZ2xvYmFsIOa4uOaIj+W8gOWniwogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDEwKSkKICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICBlbHNlOgogICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ3dpbicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrlm77lg4/nvJblj7cgPSAwCua4uOaIj+W+l+WIhiA9IDAK5Lqu5bGP5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCuWbvuWDj+mbhuWQiD0gKCfihpMnLCAn4oaQJywgJ+KGkScsICfihpInKQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgICAgICDlm77lg4/nvJblj7cgPSByYW5kb20ucmFuZGludCgwLCAzKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWbvuWDj+mbhuWQiFvlm77lg4/nvJblj7ddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg5Lqu5bGP5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKChtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkEya2V5LmlzX3ByZXNzZWQoKSkgb3IgKG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTRrZXkuaXNfcHJlc3NlZCgpKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIGlmICgoKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMCkgb3IgKG1peGdvX25vdmEuQTJrZXkuaXNfcHJlc3NlZCgpIGFuZCDlm77lg4/nvJblj7cgPT0gMSkpIG9yICgobWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAyKSBvciAobWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCkgYW5kIOWbvuWDj+e8luWPtyA9PSAzKSkpIGFuZCDmjInkuIvml7bliLsgLSDkuq7lsY/ml7bliLsgPCAxMDAwOgogICAgICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOa4uOaIj+W+l+WIhiAtPSAxCiAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTMxLCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOa4uOaIj+W+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiDmuLjmiI/lvpfliIYgPiAxMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAg6K6+572u5ri45oiP54q25oCBKCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOiuvue9rua4uOaIj+eKtuaAgSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/17-0-复杂控制-非中断效果.mix index 273c965d..e21a9131 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-0-复杂控制-非中断效果.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/17-0-复杂控制-非中断效果.mix @@ -1 +1 @@ -WHILETRUE21s0.520s0.5B1key101010B2key000{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +WHILETRUE21s0.520s0.5B1key101010B2key000{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-1-复杂控制-双键中断.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/17-1-复杂控制-双键中断.mix index 560c9862..a2a54181 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-1-复杂控制-双键中断.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/17-1-复杂控制-双键中断.mix @@ -1 +1 @@ -xmachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcmachine.Pin.IRQ_RISINGB2keyattachInterrupt_func2WHILETRUE21s0.520s0.5attachInterrupt_func101010attachInterrupt_func2000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMyKHgpOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCm1peGdvX25vdmEuQjFrZXkuaXJxKGhhbmRsZXI9YXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXI9bWFjaGluZS5QaW4uSVJRX1JJU0lORykKbWl4Z29fbm92YS5CMmtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYzIsIHRyaWdnZXI9bWFjaGluZS5QaW4uSVJRX1JJU0lORykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +xmachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcmachine.Pin.IRQ_RISINGB2keyattachInterrupt_func2WHILETRUE21s0.520s0.5attachInterrupt_func101010attachInterrupt_func2000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoMTAsIDEwLCAxMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMyKHgpOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKCm1peGdvX25vdmEuQjFrZXkuaXJxKGhhbmRsZXI9YXR0YWNoSW50ZXJydXB0X2Z1bmMsIHRyaWdnZXI9bWFjaGluZS5QaW4uSVJRX1JJU0lORykKbWl4Z29fbm92YS5CMmtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYzIsIHRyaWdnZXI9bWFjaGluZS5QaW4uSVJRX1JJU0lORykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/17-2-复杂控制-单键中断.mix index 5105f01e..3c335763 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-2-复杂控制-单键中断.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/17-2-复杂控制-单键中断.mix @@ -1 +1 @@ -x是否亮灯FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUE21s0.520s0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIOaYr+WQpuS6rueBrwogICAg5piv5ZCm5Lqu54GvID0gbm90IOaYr+WQpuS6rueBrwogICAgaWYg5piv5ZCm5Lqu54GvOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDEwLCAxMCwgMTApKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoK5piv5ZCm5Lqu54GvID0gRmFsc2UKbWl4Z29fbm92YS5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDAuNSkKSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +x是否亮灯FALSEmachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUE21s0.520s0.5attachInterrupt_func是否亮灯是否亮灯是否亮灯是否亮灯101010000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgZ2xvYmFsIOaYr+WQpuS6rueBrwogICAg5piv5ZCm5Lqu54GvID0gbm90IOaYr+WQpuS6rueBrwogICAgaWYg5piv5ZCm5Lqu54GvOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDEwLCAxMCwgMTApKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoK5piv5ZCm5Lqu54GvID0gRmFsc2UKbWl4Z29fbm92YS5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDAuNSkKSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/18-1-复杂控制-定时计时.mix index 13e269cb..f91daa23 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/18-1-复杂控制-定时计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/18-1-复杂控制-定时计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1TrueMixlyx计时0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOiuoeaXtiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrlvIDlp4sgPSBGYWxzZQrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCg== \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始tim_callback计时开始开始ADDa计时1TrueMixlyx计时0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOiuoeaXtiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrlvIDlp4sgPSBGYWxzZQrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/18-2-复杂控制-循环计时.mix index 7f26b91f..ace526db 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/18-2-复杂控制-循环计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/18-2-复杂控制-循环计时.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0TrueMixlyx计时0TRUEtim_callback计时开始开始ADDa计时1TrueMixlyx计时0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOiuoeaXtiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrlvIDlp4sgPSBGYWxzZQrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCDlvIDlp4s6CiAgICAgICAg6K6h5pe2ID0gMAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijorqHml7YpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0TrueMixlyx计时0TRUEtim_callback计时开始开始ADDa计时1TrueMixlyx计时0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOiuoeaXtiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrlvIDlp4sgPSBGYWxzZQrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCkgYW5kIG5vdCDlvIDlp4s6CiAgICAgICAg6K6h5pe2ID0gMAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijorqHml7YpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/19-1-复杂控制-多线程.mix index d4318abf..9889ab69 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/19-1-复杂控制-多线程.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/19-1-复杂控制-多线程.mix @@ -1 +1 @@ -闪灯FALSERGB0testThreadWHILETRUEB1key闪灯闪灯expression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1testThread闪灯RGBWHILETRUEms1闪灯RGBMINUS101RGB0RGB0RGB0RGBs0.1000{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg6Zeq54GvCiAgICBnbG9iYWwgUkdCCiAgICB3aGlsZSBUcnVlOgogICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICBpZiDpl6rnga86CiAgICAgICAgICAgIFJHQiA9IDEwIC0gUkdCCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKFJHQiwgUkdCLCBSR0IpKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK6Zeq54GvID0gRmFsc2UKUkdCID0gMApfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6Zeq54GvID0gbm90IOmXqueBrwogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +闪灯FALSERGB0testThreadWHILETRUEB1key闪灯闪灯expression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1testThread闪灯RGBWHILETRUEms1闪灯RGBMINUS101RGB0RGB0RGB0RGBs0.1000{}aW1wb3J0IF90aHJlYWQKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg6Zeq54GvCiAgICBnbG9iYWwgUkdCCiAgICB3aGlsZSBUcnVlOgogICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICBpZiDpl6rnga86CiAgICAgICAgICAgIFJHQiA9IDEwIC0gUkdCCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKFJHQiwgUkdCLCBSR0IpKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK6Zeq54GvID0gRmFsc2UKUkdCID0gMApfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6Zeq54GvID0gbm90IOmXqueBrwogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/19-2-复杂控制-多线程与中断.mix index 4b84f1cc..effe35c5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/19-2-复杂控制-多线程与中断.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/19-2-复杂控制-多线程与中断.mix @@ -1 +1 @@ -x闪灯FALSERGB0machine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEexpression_picture.HeartTRUEs0.5expression_picture.Small_heartTRUEs0.5attachInterrupt_func闪灯闪灯闪灯testThread闪灯RGBWHILETRUEms1闪灯RGBMINUS101RGB0RGB0RGB0RGBs0.2000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IF90aHJlYWQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCDpl6rnga8KICAgIOmXqueBryA9IG5vdCDpl6rnga8KCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg6Zeq54GvCiAgICBnbG9iYWwgUkdCCiAgICB3aGlsZSBUcnVlOgogICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICBpZiDpl6rnga86CiAgICAgICAgICAgIFJHQiA9IDEwIC0gUkdCCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKFJHQiwgUkdCLCBSR0IpKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK6Zeq54GvID0gRmFsc2UKUkdCID0gMAptaXhnb19ub3ZhLkIxa2V5LmlycShoYW5kbGVyPWF0dGFjaEludGVycnVwdF9mdW5jLCB0cmlnZ2VyPW1hY2hpbmUuUGluLklSUV9SSVNJTkcpCl90aHJlYWQuc3RhcnRfbmV3X3RocmVhZCh0ZXN0VGhyZWFkLCAoKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file +x闪灯FALSERGB0machine.Pin.IRQ_RISINGB1keyattachInterrupt_functestThreadWHILETRUEexpression_picture.HeartTRUEs0.5expression_picture.Small_heartTRUEs0.5attachInterrupt_func闪灯闪灯闪灯testThread闪灯RGBWHILETRUEms1闪灯RGBMINUS101RGB0RGB0RGB0RGBs0.2000{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IF90aHJlYWQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiBhdHRhY2hJbnRlcnJ1cHRfZnVuYyh4KToKICAgIGdsb2JhbCDpl6rnga8KICAgIOmXqueBryA9IG5vdCDpl6rnga8KCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg6Zeq54GvCiAgICBnbG9iYWwgUkdCCiAgICB3aGlsZSBUcnVlOgogICAgICAgIHRpbWUuc2xlZXBfbXMoMSkKICAgICAgICBpZiDpl6rnga86CiAgICAgICAgICAgIFJHQiA9IDEwIC0gUkdCCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKFJHQiwgUkdCLCBSR0IpKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK6Zeq54GvID0gRmFsc2UKUkdCID0gMAptaXhnb19ub3ZhLkIxa2V5LmlycShoYW5kbGVyPWF0dGFjaEludGVycnVwdF9mdW5jLCB0cmlnZ2VyPW1hY2hpbmUuUGluLklSUV9SSVNJTkcpCl90aHJlYWQuc3RhcnRfbmV3X3RocmVhZCh0ZXN0VGhyZWFkLCAoKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/20-1-复杂控制-异常.mix index ca460bd6..d5fa3cc1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/20-1-复杂控制-异常.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/20-1-复杂控制-异常.mix @@ -1 +1 @@ -WHILETRUE21s0.520s0.5错误变量错误变量{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAg6ZSZ6K+v5Y+Y6YePID0gbm90IOmUmeivr+WPmOmHjwo=F85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184Rgo= \ No newline at end of file +WHILETRUE21s0.520s0.5错误变量错误变量{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAg6ZSZ6K+v5Y+Y6YePID0gbm90IOmUmeivr+WPmOmHjwo=F85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184Rgo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/20-2-复杂控制-异常处理.mix index 6538c936..12b2d097 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/20-2-复杂控制-异常处理.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/20-2-复杂控制-异常处理.mix @@ -1 +1 @@ -WHILETRUE21s0.520s0.5错误变量错误变量Exception as ee{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgdHJ5OgogICAgICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBwYXNzCg== \ No newline at end of file +WHILETRUE21s0.520s0.5错误变量错误变量Exception as ee{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgdHJ5OgogICAgICAgIF9FOV85NF85OV9FOF9BRl9BRl9FNV84Rl85OF9FOV84N184RiA9IG5vdCBfRTlfOTRfOTlfRThfQUZfQUZfRTVfOEZfOThfRTlfODdfOEYKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/21-1-射频识别-读取测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/21-1-射频识别-读取测试.mix index 9e8b24bb..d15fdeda 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/21-1-射频识别-读取测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/21-1-射频识别-读取测试.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgcHJpbnQob25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgcHJpbnQob25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/21-2-射频识别-读取卡号.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/21-2-射频识别-读取卡号.mix index 84149817..16cfd7ae 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/21-2-射频识别-读取卡号.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/21-2-射频识别-读取卡号.mix @@ -1 +1 @@ -id0WHILETRUEidNEQxidNone65950MixlyidTrueMixlyxid06410255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgppZDIgPSAwCndoaWxlIFRydWU6CiAgICBpZDIgPSBvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgNTApCiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihpZDIpLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +id0WHILETRUEidNEQxidNone65950MixlyidTrueMixlyxid06410255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgppZDIgPSAwCndoaWxlIFRydWU6CiAgICBpZDIgPSBvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgNTApCiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihpZDIpLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/22-1-射频识别-写卡测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/22-1-射频识别-写卡测试.mix index 4b83afc8..90a642ef 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/22-1-射频识别-写卡测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/22-1-射频识别-写卡测试.mix @@ -1 +1 @@ -WHILETRUEB1keyidNEQxidNonesx0MixlysNEQs659100TrueMixlys06410255,255,0#ffffffTRUEB2keyidNEQxidNone0米思齐988100True成功写入06410255,255,0#ffffffTRUE165100True写入失败06410255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlkMiA9IG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgcyA9IHN0cihvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImNvbnRlbnQiKSkKICAgICAgICAgICAgcHJpbnQocykKICAgICAgICAgICAgaWYgcyAhPSAnJzoKICAgICAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gb25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICAgICAgaWYgc3RyKGlkMikgIT0gJ05vbmUnOgogICAgICAgICAgICBpZiBvbmJvYXJkX3JmaWQud3JpdGVfY2FyZCgn57Gz5oCd6b2QJywgMCk6CiAgICAgICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aIkOWKn+WGmeWFpScsIHg9MCwgeT02NCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YaZ5YWl5aSx6LSlJywgeD0wLCB5PTY0LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEB1keyidNEQxidNonesx0MixlysNEQs659100TrueMixlys06410255,255,0#ffffffTRUEB2keyidNEQxidNone0米思齐988100True成功写入06410255,255,0#ffffffTRUE165100True写入失败06410255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlkMiA9IG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICAgICAgcyA9IHN0cihvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImNvbnRlbnQiKSkKICAgICAgICAgICAgcHJpbnQocykKICAgICAgICAgICAgaWYgcyAhPSAnJzoKICAgICAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWQyID0gb25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICAgICAgaWYgc3RyKGlkMikgIT0gJ05vbmUnOgogICAgICAgICAgICBpZiBvbmJvYXJkX3JmaWQud3JpdGVfY2FyZCgn57Gz5oCd6b2QJywgMCk6CiAgICAgICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aIkOWKn+WGmeWFpScsIHg9MCwgeT02NCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YaZ5YWl5aSx6LSlJywgeD0wLCB5PTY0LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/22-2-射频识别-持续写卡.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/22-2-射频识别-持续写卡.mix index d8e4ff9b..c2dd199f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/22-2-射频识别-持续写卡.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/22-2-射频识别-持续写卡.mix @@ -1 +1 @@ -mytupMixlyMixIOMixGo序号0写模式FALSE上一卡号0WHILETRUEB1key写模式写模式255MULTIPLY101写模式00写模式idNEQxidNoneNEQid上一卡号0米思齐mytup0序号988100True成功写入mytup0序号06410255,255,0#ffffffTRUEADDa序号1上一卡号idGTE序号mytup写模式FALSE000True写入失败06410255,255,0#ffffffTRUE165100{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmZpZApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCm15dHVwPSAoJ01peGx5JywgJ01peElPJywgJ01peEdvJykK5bqP5Y+3ID0gMArlhpnmqKHlvI8gPSBGYWxzZQrkuIrkuIDljaHlj7cgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5YaZ5qih5byPID0gbm90IOWGmeaooeW8jwogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKCgxMCAqIOWGmeaooeW8jyksIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOWGmeaooeW8jzoKICAgICAgICBpZDIgPSBvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIGlmIGlkMiAhPSDkuIrkuIDljaHlj7c6CiAgICAgICAgICAgICAgICBpZiBvbmJvYXJkX3JmaWQud3JpdGVfY2FyZChteXR1cFvluo/lj7ddLCAwKToKICAgICAgICAgICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W6j+WPt10sIHg9MCwgeT02NCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICDluo/lj7cgKz0gMQogICAgICAgICAgICAgICAgICAgIOS4iuS4gOWNoeWPtyA9IGlkMgogICAgICAgICAgICAgICAgICAgIGlmIOW6j+WPtyA+PSBsZW4obXl0dXApOgogICAgICAgICAgICAgICAgICAgICAgICDlhpnmqKHlvI8gPSBGYWxzZQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YaZ5YWl5aSx6LSlJywgeD0wLCB5PTY0LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTY1LCAxMDApCg== \ No newline at end of file +mytupMixlyMixIOMixGo序号0写模式FALSE上一卡号0WHILETRUEB1key写模式写模式255MULTIPLY101写模式00写模式idNEQxidNoneNEQid上一卡号0米思齐mytup0序号988100True成功写入mytup0序号06410255,255,0#ffffffTRUEADDa序号1上一卡号idGTE序号mytup写模式FALSE000True写入失败06410255,255,0#ffffffTRUE165100{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmZpZApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCm15dHVwPSAoJ01peGx5JywgJ01peElPJywgJ01peEdvJykK5bqP5Y+3ID0gMArlhpnmqKHlvI8gPSBGYWxzZQrkuIrkuIDljaHlj7cgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5YaZ5qih5byPID0gbm90IOWGmeaooeW8jwogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKCgxMCAqIOWGmeaooeW8jyksIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOWGmeaooeW8jzoKICAgICAgICBpZDIgPSBvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgICAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgICAgIGlmIGlkMiAhPSDkuIrkuIDljaHlj7c6CiAgICAgICAgICAgICAgICBpZiBvbmJvYXJkX3JmaWQud3JpdGVfY2FyZChteXR1cFvluo/lj7ddLCAwKToKICAgICAgICAgICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W6j+WPt10sIHg9MCwgeT02NCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICDluo/lj7cgKz0gMQogICAgICAgICAgICAgICAgICAgIOS4iuS4gOWNoeWPtyA9IGlkMgogICAgICAgICAgICAgICAgICAgIGlmIOW6j+WPtyA+PSBsZW4obXl0dXApOgogICAgICAgICAgICAgICAgICAgICAgICDlhpnmqKHlvI8gPSBGYWxzZQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YaZ5YWl5aSx6LSlJywgeD0wLCB5PTY0LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoMTY1LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-主机模式.mix index 6474e653..f1ac1c56 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-主机模式.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-主机模式.mix @@ -1 +1 @@ -datable_cble_cble_methodWHILETRUEble_c0010B1keyble_c数据xint1100000nameble_cMixly_SlaveException as eble_methodMixlydataTrueMixlydata0TRUE{}aW1wb3J0IGJsZV9jZW50cmFsCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IHJhbmRvbQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYgYmxlX21ldGhvZChkYXRhKToKICAgIHByaW50KGRhdGEpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhkYXRhLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MucmVjdihibGVfbWV0aG9kKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2MuaXNfY29ubmVjdGVkKCk6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMTApKQogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX2Muc2VuZChzdHIoKHJhbmRvbS5yYW5kaW50KDEsIDEwMCkpKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBibGVfYy5jb25uZWN0KG5hbWU9J01peGx5X1NsYXZlJykKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHBhc3MKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +datable_cble_cble_methodWHILETRUEble_c0010B1keyble_c数据xint1100000nameble_cMixly_SlaveException as eble_methodMixlydataTrueMixlydata0TRUE{}aW1wb3J0IGJsZV9jZW50cmFsCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IHJhbmRvbQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYgYmxlX21ldGhvZChkYXRhKToKICAgIHByaW50KGRhdGEpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhkYXRhLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoKYmxlX2MgPSBibGVfY2VudHJhbC5CTEVTaW1wbGVDZW50cmFsKCkKYmxlX2MucmVjdihibGVfbWV0aG9kKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2MuaXNfY29ubmVjdGVkKCk6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMTApKQogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX2Muc2VuZChzdHIoKHJhbmRvbS5yYW5kaW50KDEsIDEwMCkpKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgdHJ5OgogICAgICAgICAgICBibGVfYy5jb25uZWN0KG5hbWU9J01peGx5X1NsYXZlJykKICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgIHBhc3MKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-从机模式.mix index e0a5f07e..37334c3b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-从机模式.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-从机模式.mix @@ -1 +1 @@ -datable_xMixly_Slaveble_xble_methodWHILETRUEble_x0010B1keyble_xB1键B2keyble_xB2键000ble_methodMixlydataTrueMixlydata0TRUE{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIGJsZV9tZXRob2QoZGF0YSk6CiAgICBwcmludChkYXRhKQogICAgb25ib2FyZF90ZnQuc2hvd3MoZGF0YSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCmJsZV94ID0gYmxlX3BlcmlwaGVyYWwuQkxFU2ltcGxlUGVyaXBoZXJhbCgnTWl4bHlfU2xhdmUnKQpibGVfeC5yZWN2KGJsZV9tZXRob2QpCndoaWxlIFRydWU6CiAgICBpZiBibGVfeC5pc19jb25uZWN0ZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAxMCkpCiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfeC5zZW5kKCdCMemUricpCiAgICAgICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfeC5zZW5kKCdCMumUricpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file +datable_xMixly_Slaveble_xble_methodWHILETRUEble_x0010B1keyble_xB1键B2keyble_xB2键000ble_methodMixlydataTrueMixlydata0TRUE{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIGJsZV9tZXRob2QoZGF0YSk6CiAgICBwcmludChkYXRhKQogICAgb25ib2FyZF90ZnQuc2hvd3MoZGF0YSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCmJsZV94ID0gYmxlX3BlcmlwaGVyYWwuQkxFU2ltcGxlUGVyaXBoZXJhbCgnTWl4bHlfU2xhdmUnKQpibGVfeC5yZWN2KGJsZV9tZXRob2QpCndoaWxlIFRydWU6CiAgICBpZiBibGVfeC5pc19jb25uZWN0ZWQoKToKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAxMCkpCiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfeC5zZW5kKCdCMemUricpCiAgICAgICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBibGVfeC5zZW5kKCdCMumUricpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/24-1-无线广播-通讯测试.mix index dd86f31d..7b865888 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/24-1-无线广播-通讯测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/24-1-无线广播-通讯测试.mix @@ -1 +1 @@ -10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrueLEFT0TRUERIGHTTrueRIGHT0TRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHByaW50KEVTUE5vd19yYWRpb19tc2cpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnTEVGVCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJMRUZUIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdSSUdIVCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJSSUdIVCIsIEVTUE5vd19yYWRpb19yZWN2KQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEwKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0xFRlQnKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdSSUdIVCcpCg== \ No newline at end of file +10TrueWHILETRUEB1keyLEFTB2keyRIGHTLEFTTrueLEFT0TRUERIGHTTrueRIGHT0TRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHByaW50KEVTUE5vd19yYWRpb19tc2cpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnTEVGVCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJMRUZUIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdSSUdIVCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJSSUdIVCIsIEVTUE5vd19yYWRpb19yZWN2KQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEwKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0xFRlQnKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdSSUdIVCcpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/24-2-无线广播-防丢检测.mix index 8ee3f5f0..bb89ec89 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/24-2-无线广播-防丢检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/24-2-无线广播-防丢检测.mix @@ -1 +1 @@ -lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000TrueNO0TRUEspk_midi.DADADADUMlastmsgtimeTrueYES0TRUElastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX3RmdC5zaG93cygnWUVTJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnTk8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCg== \ No newline at end of file +lastmsgtimems10TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000TrueNO0TRUEspk_midi.DADADADUMlastmsgtimeTrueYES0TRUElastmsgtimems{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIGxhc3Rtc2d0aW1lCiAgICBvbmJvYXJkX3RmdC5zaG93cygnWUVTJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MTApCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnTk8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/25-1-红外遥控-收发测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/25-1-红外遥控-收发测试.mix index 1f5e85ae..471176a7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/25-1-红外遥控-收发测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/25-1-红外遥控-收发测试.mix @@ -1 +1 @@ -cmdaddrrawpulses016callbackFalse21100WHILETRUEB1key0x1234B2key0xABCDcallbackcmdaddrtensixteen1010rawpulses{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYXRoCgpkZWYgY2FsbGJhY2soY21kLCBhZGRyLCByYXcsIHB1bHNlcyk6CiAgICBwcmludChjbWQsIGFkZHIsIGhleChpbnQoc3RyKHJhdyksIDEwKSksIHB1bHNlcykKCgppcl9yeCA9IGlycmVtb3RlLk5FQ19SWCgxNiwgMCwgY2FsbGJhY2spCmlyX3R4ID0gaXJyZW1vdGUuTkVDX1RYKDIxLCBGYWxzZSwgMTAwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlyX3R4LnRyYW5zbWl0KHJhdz0weDEyMzQpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QUJDRCkK \ No newline at end of file +cmdaddrrawpulses016callbackFalse21100WHILETRUEB1key0x1234B2key0xABCDcallbackcmdaddrtensixteen1010rawpulses{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYXRoCgpkZWYgY2FsbGJhY2soY21kLCBhZGRyLCByYXcsIHB1bHNlcyk6CiAgICBwcmludChjbWQsIGFkZHIsIGhleChpbnQoc3RyKHJhdyksIDEwKSksIHB1bHNlcykKCgppcl9yeCA9IGlycmVtb3RlLk5FQ19SWCgxNiwgMCwgY2FsbGJhY2spCmlyX3R4ID0gaXJyZW1vdGUuTkVDX1RYKDIxLCBGYWxzZSwgMTAwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlyX3R4LnRyYW5zbWl0KHJhdz0weDEyMzQpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QUJDRCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/25-2-红外遥控-遥控点灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/25-2-红外遥控-遥控点灯.mix index cd006381..af279115 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/25-2-红外遥控-遥控点灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/25-2-红外遥控-遥控点灯.mix @@ -1 +1 @@ -cmdaddrrawpulses016callbackFalse21100WHILETRUEA1key0xA1A2key0xA2A3key0xA3A4key0xA4callbackcmdaddrtensixteen1010rawpulsesEQraw0xA111EQraw0xA210EQraw0xA321EQraw0xA420{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBjYWxsYmFjayhjbWQsIGFkZHIsIHJhdywgcHVsc2VzKToKICAgIHByaW50KGNtZCwgYWRkciwgaGV4KGludChzdHIocmF3KSwgMTApKSwgcHVsc2VzKQogICAgaWYgcmF3ID09IDB4QTE6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgcmF3ID09IDB4QTI6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgcmF3ID09IDB4QTM6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgcmF3ID09IDB4QTQ6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQoKCgppcl9yeCA9IGlycmVtb3RlLk5FQ19SWCgxNiwwLGNhbGxiYWNrKQppcl90eCA9IGlycmVtb3RlLk5FQ19UWCgyMSxGYWxzZSwxMDApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTEpCiAgICBpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTIpCiAgICBpZiBtaXhnb19ub3ZhLkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTMpCiAgICBpZiBtaXhnb19ub3ZhLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTQpCg== \ No newline at end of file +cmdaddrrawpulses016callbackFalse21100WHILETRUEA1key0xA1A2key0xA2A3key0xA3A4key0xA4callbackcmdaddrtensixteen1010rawpulsesEQraw0xA111EQraw0xA210EQraw0xA321EQraw0xA420{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBjYWxsYmFjayhjbWQsIGFkZHIsIHJhdywgcHVsc2VzKToKICAgIHByaW50KGNtZCwgYWRkciwgaGV4KGludChzdHIocmF3KSwgMTApKSwgcHVsc2VzKQogICAgaWYgcmF3ID09IDB4QTE6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgcmF3ID09IDB4QTI6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgcmF3ID09IDB4QTM6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgcmF3ID09IDB4QTQ6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQoKCgppcl9yeCA9IGlycmVtb3RlLk5FQ19SWCgxNiwwLGNhbGxiYWNrKQppcl90eCA9IGlycmVtb3RlLk5FQ19UWCgyMSxGYWxzZSwxMDApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTEpCiAgICBpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTIpCiAgICBpZiBtaXhnb19ub3ZhLkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTMpCiAgICBpZiBtaXhnb19ub3ZhLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaXJfdHgudHJhbnNtaXQocmF3PTB4QTQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/26-1-红外遥控-学习编码.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/26-1-红外遥控-学习编码.mix index f54c7405..87d53a2e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/26-1-红外遥控-学习编码.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/26-1-红外遥控-学习编码.mix @@ -1 +1 @@ -016万能遥控码19400,4500,560,560WHILETRUE万能遥控码13hex152LENmylist3x3{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtYXRoCgoKaXJfcnggPSBpcnJlbW90ZS5ORUNfUlgoMTYsMCkKX0U0X0I4Xzg3X0U4XzgzX0JEX0U5XzgxX0E1X0U2XzhFX0E3X0U3X0EwXzgxMSA9IFs5NDAwLDQ1MDAsNTYwLDU2MF0Kd2hpbGUgVHJ1ZToKICAgIGlmIGlyX3J4LmFueSgpOgogICAgICAgIF9FNF9COF84N19FOF84M19CRF9FOV84MV9BNV9FNl84RV9BN19FN19BMF84MTEgPSBpcl9yeC5jb2RlWzNdCiAgICAgICAgcHJpbnQoaGV4KGlyX3J4LmNvZGVbMl0pLCBsZW4oaXJfcnguY29kZVszXSksIGxpc3QoaXJfcnguY29kZVszXSkpCg== \ No newline at end of file +016万能遥控码19400,4500,560,560WHILETRUE万能遥控码13hex152LENmylist3x3{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtYXRoCgoKaXJfcnggPSBpcnJlbW90ZS5ORUNfUlgoMTYsMCkKX0U0X0I4Xzg3X0U4XzgzX0JEX0U5XzgxX0E1X0U2XzhFX0E3X0U3X0EwXzgxMSA9IFs5NDAwLDQ1MDAsNTYwLDU2MF0Kd2hpbGUgVHJ1ZToKICAgIGlmIGlyX3J4LmFueSgpOgogICAgICAgIF9FNF9COF84N19FOF84M19CRF9FOV84MV9BNV9FNl84RV9BN19FN19BMF84MTEgPSBpcl9yeC5jb2RlWzNdCiAgICAgICAgcHJpbnQoaGV4KGlyX3J4LmNvZGVbMl0pLCBsZW4oaXJfcnguY29kZVszXSksIGxpc3QoaXJfcnguY29kZVszXSkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/26-2-红外遥控-万能遥控.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/26-2-红外遥控-万能遥控.mix index 0585007b..7b04fc20 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/26-2-红外遥控-万能遥控.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/26-2-红外遥控-万能遥控.mix @@ -1 +1 @@ -016False21100万能遥控码19400,4500,560,560WHILETRUEA1keyTrue9000,4500,563,563万能遥控码1发射万能遥控s1False万能遥控码13hex152LENmylist3x3{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCmltcG9ydCBtYXRoCgoKaXJfcnggPSBpcnJlbW90ZS5ORUNfUlgoMTYsMCkKaXJfdHggPSBpcnJlbW90ZS5ORUNfVFgoMjEsRmFsc2UsMTAwKQpfRTRfQjhfODdfRThfODNfQkRfRTlfODFfQTVfRTZfOEVfQTdfRTdfQTBfODExID0gWzk0MDAsNDUwMCw1NjAsNTYwXQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlyX3J4LmVuYWJsZShUcnVlKQogICAgICAgIGlyX3R4LnRyYW5zbWl0KHB1bHNlcz1fRTRfQjhfODdfRThfODNfQkRfRTlfODFfQTVfRTZfOEVfQTdfRTdfQTBfODExKQogICAgICAgIHByaW50KCflj5HlsITkuIfog73pgaXmjqcnKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBpcl9yeC5lbmFibGUoRmFsc2UpCiAgICBlbHNlOgogICAgICAgIGlmIGlyX3J4LmFueSgpOgogICAgICAgICAgICBfRTRfQjhfODdfRThfODNfQkRfRTlfODFfQTVfRTZfOEVfQTdfRTdfQTBfODExID0gaXJfcnguY29kZVszXQogICAgICAgICAgICBwcmludChoZXgoaXJfcnguY29kZVsyXSksIGxlbihpcl9yeC5jb2RlWzNdKSwgbGlzdChpcl9yeC5jb2RlWzNdKSkK \ No newline at end of file +016False21100万能遥控码19400,4500,560,560WHILETRUEA1keyTrue9000,4500,563,563万能遥控码1发射万能遥控s1False万能遥控码13hex152LENmylist3x3{}aW1wb3J0IGlycmVtb3RlCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCmltcG9ydCBtYXRoCgoKaXJfcnggPSBpcnJlbW90ZS5ORUNfUlgoMTYsMCkKaXJfdHggPSBpcnJlbW90ZS5ORUNfVFgoMjEsRmFsc2UsMTAwKQpfRTRfQjhfODdfRThfODNfQkRfRTlfODFfQTVfRTZfOEVfQTdfRTdfQTBfODExID0gWzk0MDAsNDUwMCw1NjAsNTYwXQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGlyX3J4LmVuYWJsZShUcnVlKQogICAgICAgIGlyX3R4LnRyYW5zbWl0KHB1bHNlcz1fRTRfQjhfODdfRThfODNfQkRfRTlfODFfQTVfRTZfOEVfQTdfRTdfQTBfODExKQogICAgICAgIHByaW50KCflj5HlsITkuIfog73pgaXmjqcnKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBpcl9yeC5lbmFibGUoRmFsc2UpCiAgICBlbHNlOgogICAgICAgIGlmIGlyX3J4LmFueSgpOgogICAgICAgICAgICBfRTRfQjhfODdfRThfODNfQkRfRTlfODFfQTVfRTZfOEVfQTdfRTdfQTBfODExID0gaXJfcnguY29kZVszXQogICAgICAgICAgICBwcmludChoZXgoaXJfcnguY29kZVsyXSksIGxlbihpcl9yeC5jb2RlWzNdKSwgbGlzdChpcl9yeC5jb2RlWzNdKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/27-1-红外接近-挥手速度.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/27-1-红外接近-挥手速度.mix index 7aac3b28..f2b938ff 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/27-1-红外接近-挥手速度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/27-1-红外接近-挥手速度.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEMixlyls1GTr511按下时刻mstrueLTr110抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7ID0gMArmiqzotbfml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiA1OgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfci5wc19ubCgpIDwgMSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICDmiqzotbfml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBwcmludCgo5oqs6LW35pe25Yi7IC0g5oyJ5LiL5pe25Yi7KSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEMixlyls1GTr511按下时刻mstrueLTr110抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7ID0gMArmiqzotbfml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiA1OgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfci5wc19ubCgpIDwgMSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICDmiqzotbfml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBwcmludCgo5oqs6LW35pe25Yi7IC0g5oyJ5LiL5pe25Yi7KSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/27-2-红外接近-双挥手速度.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/27-2-红外接近-双挥手速度.mix index 2733342c..27e76608 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/27-2-红外接近-双挥手速度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/27-2-红外接近-双挥手速度.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEMixlyls1GTl511按下时刻mstrueLTr510抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuaMieS4i+aXtuWIuyA9IDAK5oqs6LW35pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gNToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDUpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAg5oqs6LW35pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgcHJpbnQoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmiqzotbfml7bliLsgLSDmjInkuIvml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEMixlyls1GTl511按下时刻mstrueLTr510抬起时刻msMixlyMINUS1抬起时刻1按下时刻TrueMixlyxMINUS1抬起时刻1按下时刻0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuaMieS4i+aXtuWIuyA9IDAK5oqs6LW35pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gNToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDUpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAg5oqs6LW35pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgcHJpbnQoKOaKrOi1t+aXtuWIuyAtIOaMieS4i+aXtuWIuykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmiqzotbfml7bliLsgLSDmjInkuIvml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/28-1-红外接近-双门人数统计.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/28-1-红外接近-双门人数统计.mix index 3a3c394e..967a1b28 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/28-1-红外接近-双门人数统计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/28-1-红外接近-双门人数统计.mix @@ -1 +1 @@ -入园人数0WHILETRUEGTl1000ADD入园人数1trueLTl500TrueMixlyx入园人数0TRUEGTr1000MINUS入园人数1trueLTr500TrueMixlyx入园人数0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCgrlhaXlm63kurrmlbAgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDAwOgogICAgICAgIOWFpeWbreS6uuaVsCArPSAxCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDUwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlhaXlm63kurrmlbApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDAwOgogICAgICAgIOWFpeWbreS6uuaVsCAtPSAxCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDUwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlhaXlm63kurrmlbApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +入园人数0WHILETRUEGTl1000ADD入园人数1trueLTl500TrueMixlyx入园人数0TRUEGTr1000MINUS入园人数1trueLTr500TrueMixlyx入园人数0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCgrlhaXlm63kurrmlbAgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDAwOgogICAgICAgIOWFpeWbreS6uuaVsCArPSAxCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDUwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlhaXlm63kurrmlbApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDAwOgogICAgICAgIOWFpeWbreS6uuaVsCAtPSAxCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDUwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlhaXlm63kurrmlbApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/28-2-红外接近-单门人数统计.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/28-2-红外接近-单门人数统计.mix index 19b34218..ceb5ad42 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/28-2-红外接近-单门人数统计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/28-2-红外接近-单门人数统计.mix @@ -1,3 +1,3 @@ -入园人数0当前状态0 没有人经过 +入园人数0当前状态0 没有人经过 1 左侧经过了 2 右侧经过了0WHILETRUEGTl500trueLTl100EQ当前状态0当前状态1EQ当前状态2ADD入园人数1当前状态0TrueMixlyx入园人数0TRUEGTr500trueLTr100EQ当前状态0当前状态2EQ当前状态1MINUS入园人数1当前状态0TrueMixlyx入园人数0TRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19yCgrlhaXlm63kurrmlbAgPSAwCiMgMCDmsqHmnInkurrnu4/ov4cKIyAxIOW3puS+p+e7j+i/h+S6hgojIDIg5Y+z5L6n57uP6L+H5LqGCuW9k+WJjeeKtuaAgSA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDUwMDoKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5wc19ubCgpIDwgMTAwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgaWYg5b2T5YmN54q25oCBID09IDA6CiAgICAgICAgICAgIOW9k+WJjeeKtuaAgSA9IDEKICAgICAgICBpZiDlvZPliY3nirbmgIEgPT0gMjoKICAgICAgICAgICAg5YWl5Zut5Lq65pWwICs9IDEKICAgICAgICAgICAg5b2T5YmN54q25oCBID0gMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5YWl5Zut5Lq65pWwKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gNTAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19yLnBzX25sKCkgPCAxMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiDlvZPliY3nirbmgIEgPT0gMDoKICAgICAgICAgICAg5b2T5YmN54q25oCBID0gMgogICAgICAgIGlmIOW9k+WJjeeKtuaAgSA9PSAxOgogICAgICAgICAgICDlhaXlm63kurrmlbAgLT0gMQogICAgICAgICAgICDlvZPliY3nirbmgIEgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlhaXlm63kurrmlbApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/29-1-物联网-简单数据定时上报.mix index 02baa903..ea6e4d25 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/29-1-物联网-简单数据定时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/29-1-物联网-简单数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0TRUEmixio.mixly.cn768LA26VTrueMO0TRUEWHILETRUETrueMOxl0TRUE光照msgls5{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQgdGltZQoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX3RmdC5zaG93cygnV08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy83NjhMQTI2Vi9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF90ZnQuc2hvd3MoJ01PJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file +fuhua31234567890TrueWO0TRUEmixio.mixly.cn768LA26VTrueMO0TRUEWHILETRUETrueMOxl0TRUE光照msgls5{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQgdGltZQoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX3RmdC5zaG93cygnV08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy83NjhMQTI2Vi9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKb25ib2FyZF90ZnQuc2hvd3MoJ01PJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/29-2-物联网-复杂数据定时上报.mix index 1f7ac8cd..1a542e9e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/29-2-物联网-复杂数据定时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/29-2-物联网-复杂数据定时上报.mix @@ -1 +1 @@ -fuhua31234567890TrueWO0TRUEmixio.mixly.cn768LA26VTrueMO0TRUEWHILETRUEs5环境msg"光照""声音""震动"lstrength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWNjCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfdGZ0LnNob3dzKCdXTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzc2OExBMjZWL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX3RmdC5zaG93cygnTU8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLlo7Dpn7MiOiBzb3VuZF9sZXZlbCgpLCAi6ZyH5YqoIjogb25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file +fuhua31234567890TrueWO0TRUEmixio.mixly.cn768LA26VTrueMO0TRUEWHILETRUEs5环境msg"光照""声音""震动"lstrength{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWNjCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCm9uYm9hcmRfdGZ0LnNob3dzKCdXTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKTVFUVF9VU1JfUFJKID0gIk1peElPLzc2OExBMjZWL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX3RmdC5zaG93cygnTU8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLlo7Dpn7MiOiBzb3VuZF9sZXZlbCgpLCAi6ZyH5YqoIjogb25ib2FyZF9hY2Muc3RyZW5ndGgoKX0pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/30-1-物联网-简单数据按需上报.mix index bf0e73fc..c17fdbbf 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/30-1-物联网-简单数据按需上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/30-1-物联网-简单数据按需上报.mix @@ -1 +1 @@ -timfuhua31234567890mixio.mixly.cn4OG7811OtimPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"lstrength{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLlo7Dpn7MiOnNvdW5kX2xldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +timfuhua31234567890mixio.mixly.cn4OG7811OtimPERIODICtim5000tim_callbackWHILETRUEGTstrength5危险大震动s1tim_callback环境大震动"光照""声音""震动"lstrength{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6b25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLlo7Dpn7MiOnNvdW5kX2xldmVsKCksICLpnIfliqgiOm9uYm9hcmRfYWNjLnN0cmVuZ3RoKCl9KSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICJNaXhJTy80T0c3ODExTy9kZWZhdWx0LyIKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2FjYy5zdHJlbmd0aCgpID4gNToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfljbHpmaknLCAn5aSn6ZyH5YqoJykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/30-2-物联网-高级数据按需上报.mix index 223e9983..35781652 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/30-2-物联网-高级数据按需上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/30-2-物联网-高级数据按需上报.mix @@ -1 +1 @@ -震动strength光照l声音fuhua31234567890mixio.mixly.cn4OG7811OtestThreadWHILETRUE震动strength光照l声音s0.1GT震动5危险大震动s1testThread震动光照声音WHILETRUE环境大震动"光照""声音""震动"光照声音震动s5{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAppbXBvcnQgbWl4aW90CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBfdGhyZWFkCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRlc3RUaHJlYWQoKToKICAgIGdsb2JhbCBfRTlfOUNfODdfRTVfOEFfQTgKICAgIGdsb2JhbCBfRTVfODVfODlfRTdfODVfQTcKICAgIGdsb2JhbCBfRTVfQTNfQjBfRTlfOUZfQjMKICAgIHdoaWxlIFRydWU6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQogICAgICAgIHRpbWUuc2xlZXAoNSkKCgoKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQpfRTVfODVfODlfRTdfODVfQTcgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBzb3VuZF9sZXZlbCgpCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCl90aHJlYWQuc3RhcnRfbmV3X3RocmVhZCh0ZXN0VGhyZWFkLCAoKSkKd2hpbGUgVHJ1ZToKICAgIF9FOV85Q184N19FNV84QV9BOCA9IG9uYm9hcmRfYWNjLnN0cmVuZ3RoKCkKICAgIF9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBzb3VuZF9sZXZlbCgpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGlmIF9FOV85Q184N19FNV84QV9BOCA+IDU6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Y2x6ZmpJywgJ+Wkp+mch+WKqCcpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +震动strength光照l声音fuhua31234567890mixio.mixly.cn4OG7811OtestThreadWHILETRUE震动strength光照l声音s0.1GT震动5危险大震动s1testThread震动光照声音WHILETRUE环境大震动"光照""声音""震动"光照声音震动s5{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAppbXBvcnQgbWl4aW90CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBfdGhyZWFkCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQoKZGVmIHRlc3RUaHJlYWQoKToKICAgIGdsb2JhbCBfRTlfOUNfODdfRTVfOEFfQTgKICAgIGdsb2JhbCBfRTVfODVfODlfRTdfODVfQTcKICAgIGdsb2JhbCBfRTVfQTNfQjBfRTlfOUZfQjMKICAgIHdoaWxlIFRydWU6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6X0U1Xzg1Xzg5X0U3Xzg1X0E3LCAi5aOw6Z+zIjpfRTVfQTNfQjBfRTlfOUZfQjMsICLpnIfliqgiOl9FOV85Q184N19FNV84QV9BOH0pKQogICAgICAgIHRpbWUuc2xlZXAoNSkKCgoKX0U5XzlDXzg3X0U1XzhBX0E4ID0gb25ib2FyZF9hY2Muc3RyZW5ndGgoKQpfRTVfODVfODlfRTdfODVfQTcgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQpfRTVfQTNfQjBfRTlfOUZfQjMgPSBzb3VuZF9sZXZlbCgpCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAiTWl4SU8vNE9HNzgxMU8vZGVmYXVsdC8iCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgIk1peElPX3B1YmxpYyIsICJNaXhJT19wdWJsaWMiLCBNUVRUX1VTUl9QUkopCl90aHJlYWQuc3RhcnRfbmV3X3RocmVhZCh0ZXN0VGhyZWFkLCAoKSkKd2hpbGUgVHJ1ZToKICAgIF9FOV85Q184N19FNV84QV9BOCA9IG9uYm9hcmRfYWNjLnN0cmVuZ3RoKCkKICAgIF9FNV84NV84OV9FN184NV9BNyA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBfRTVfQTNfQjBfRTlfOUZfQjMgPSBzb3VuZF9sZXZlbCgpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGlmIF9FOV85Q184N19FNV84QV9BOCA+IDU6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Y2x6ZmpJywgJ+Wkp+mch+WKqCcpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/31-1-物联网-单主题数据订阅.mix index cb0b2b13..667286f9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/31-1-物联网-单主题数据订阅.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/31-1-物联网-单主题数据订阅.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890mixio.mixly.cn4OG7811O亮灯methodWHILETRUEmethodEQmsg1252525EQmsg0000{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5Lqu54GvJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file +clienttopicmsgfuhua31234567890mixio.mixly.cn4OG7811O亮灯methodWHILETRUEmethodEQmsg1252525EQmsg0000{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzRPRzc4MTFPL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+S6rueBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5Lqu54GvJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/31-2-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/31-2-物联网-单主题数据订阅2.mix index cd5c2da8..03105d35 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/31-2-物联网-单主题数据订阅2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/31-2-物联网-单主题数据订阅2.mix @@ -1 +1 @@ -clienttopicmsg显示内容米思齐需要大家的支持!fuhua31234567890mixio.mixly.cn3TR3441G显示内容methodtestThreadWHILETRUEmethod显示内容显示内容msgtestThread显示内容WHILETRUEMixly显示内容{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgX3RocmVhZApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOaYvuekuuWGheWuuQogICAg5pi+56S65YaF5a65ID0gbXNnCgpkZWYgdGVzdFRocmVhZCgpOgogICAgZ2xvYmFsIOaYvuekuuWGheWuuQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwo5pi+56S65YaF5a65LCBjb2xvcj0weGZmZmYpCgoKCuaYvuekuuWGheWuuSA9ICfnsbPmgJ3pvZDpnIDopoHlpKflrrbnmoTmlK/mjIHvvIEnCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzNUUjM0NDFHL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuuWGheWuuScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S65YaF5a65JykKX3RocmVhZC5zdGFydF9uZXdfdGhyZWFkKHRlc3RUaHJlYWQsICgpKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKl9QUkogKyAn5pi+56S65YaF5a65JykKX3RocmVhZC5zdGFydF9uZXdfdGhyZWFkKHRlc3RUaHJlYWQsICgpKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsg显示内容米思齐需要大家的支持!fuhua31234567890mixio.mixly.cn3TR3441G显示内容methodtestThreadWHILETRUEmethod显示内容显示内容msgtestThread显示内容WHILETRUEMixly显示内容{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgX3RocmVhZApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOaYvuekuuWGheWuuQogICAg5pi+56S65YaF5a65ID0gbXNnCgpkZWYgdGVzdFRocmVhZCgpOgogICAgZ2xvYmFsIOaYvuekuuWGheWuuQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwo5pi+56S65YaF5a65LCBjb2xvcj0weGZmZmYpCgoKCuaYvuekuuWGheWuuSA9ICfnsbPmgJ3pvZDpnIDopoHlpKflrrbnmoTmlK/mjIHvvIEnCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzNUUjM0NDFHL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuuWGheWuuScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S65YaF5a65JykKX3RocmVhZC5zdGFydF9uZXdfdGhyZWFkKHRlc3RUaHJlYWQsICgpKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKl9QUkogKyAn5pi+56S65YaF5a65JykKX3RocmVhZC5zdGFydF9uZXdfdGhyZWFkKHRlc3RUaHJlYWQsICgpKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/32-1-物联网-多主题数据订.mix index 97dcc5bf..bc97008e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/32-1-物联网-多主题数据订.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/32-1-物联网-多主题数据订.mix @@ -1 +1 @@ -clienttopicmsg显示内容Mixlyfuhua31234567890mixio.mixly.cn3TR3441G显示内容method亮灯method2testThreadWHILETRUEms500method2EQmsg1252525EQmsg0000testThread显示内容WHILETRUEMixly显示内容method显示内容显示内容msg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgX3RocmVhZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg5pi+56S65YaF5a65CiAgICB3aGlsZSBUcnVlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmmL7npLrlhoXlrrksIGNvbG9yPTB4ZmZmZikKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLrlhoXlrrkKICAgIOaYvuekuuWGheWuuSA9IG1zZwoKCgrmmL7npLrlhoXlrrkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzNUUjM0NDFHL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuuWGheWuuScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S65YaF5a65JykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7nga8nLG1ldGhvZDIsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfkuq7nga8nKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgdGltZS5zbGVlcF9tcyg1MDApCg==GhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgdGltZS5zbGVlcF9tcyg1MDApCg== \ No newline at end of file +clienttopicmsg显示内容Mixlyfuhua31234567890mixio.mixly.cn3TR3441G显示内容method亮灯method2testThreadWHILETRUEms500method2EQmsg1252525EQmsg0000testThread显示内容WHILETRUEMixly显示内容method显示内容显示内容msg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgX3RocmVhZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCgpkZWYgbWV0aG9kMihjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgyNSwgMjUsIDI1KSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg5pi+56S65YaF5a65CiAgICB3aGlsZSBUcnVlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmmL7npLrlhoXlrrksIGNvbG9yPTB4ZmZmZikKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLrlhoXlrrkKICAgIOaYvuekuuWGheWuuSA9IG1zZwoKCgrmmL7npLrlhoXlrrkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzNUUjM0NDFHL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuuWGheWuuScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S65YaF5a65JykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfkuq7nga8nLG1ldGhvZDIsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfkuq7nga8nKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgdGltZS5zbGVlcF9tcyg1MDApCg==GhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgdGltZS5zbGVlcF9tcyg1MDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/32-2-物联网-多主题数据订2.mix index 2eb0e55a..084c28a0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/32-2-物联网-多主题数据订2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/32-2-物联网-多主题数据订2.mix @@ -1 +1 @@ -clienttopicmsgmydict显示内容Mixlyfuhua31234567890mixio.mixly.cn3TR3441Gjson消息methodtestThreadWHILETRUEmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000testThread显示内容WHILETRUEMixly显示内容{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgX3RocmVhZAppbXBvcnQganNvbgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwg5pi+56S65YaF5a65CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIOaYvuekuuWGheWuuSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg5pi+56S65YaF5a65CiAgICB3aGlsZSBUcnVlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmmL7npLrlhoXlrrksIGNvbG9yPTB4ZmZmZikKCgoKbXlkaWN0PSB7fQrmmL7npLrlhoXlrrkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzNUUjM0NDFHL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2pzb27mtojmga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2pzb27mtojmga8nKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=1JfUFJKICsgJ2pzb27mtojmga8nKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgmydict显示内容Mixlyfuhua31234567890mixio.mixly.cn3TR3441Gjson消息methodtestThreadWHILETRUEmethodmydict显示内容mydictx{"name":"Mixly","color":"green"}msg显示内容mydict显示内容EQmydict亮灯1252525EQmydict亮灯0000testThread显示内容WHILETRUEMixly显示内容{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgX3RocmVhZAppbXBvcnQganNvbgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBnbG9iYWwg5pi+56S65YaF5a65CiAgICBteWRpY3QgPSBkaWN0KGpzb24ubG9hZHMobXNnKSkKICAgIOaYvuekuuWGheWuuSA9IG15ZGljdFsn5pi+56S65YaF5a65J10KICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDI1LCAyNSwgMjUpKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIG15ZGljdFsn5Lqu54GvJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiB0ZXN0VGhyZWFkKCk6CiAgICBnbG9iYWwg5pi+56S65YaF5a65CiAgICB3aGlsZSBUcnVlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmmL7npLrlhoXlrrksIGNvbG9yPTB4ZmZmZikKCgoKbXlkaWN0PSB7fQrmmL7npLrlhoXlrrkgPSAnTWl4bHknCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKTVFUVF9VU1JfUFJKID0gIk1peElPLzNUUjM0NDFHL2RlZmF1bHQvIgptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICJNaXhJT19wdWJsaWMiLCAiTWl4SU9fcHVibGljIiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2pzb27mtojmga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2pzb27mtojmga8nKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=1JfUFJKICsgJ2pzb27mtojmga8nKQpfdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGVzdFRocmVhZCwgKCkpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/33-1-课堂互动-自由签到.mix index ebb6b4bb..0efead26 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/33-1-课堂互动-自由签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/33-1-课堂互动-自由签到.mix @@ -1 +1 @@ -本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUETrueGO0TRUEB1keyTRUETrueGO本机用户0TRUE姓名msg本机用户TrueOK0TRUEs1TrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoK5pys5py655So5oi3ID0gJ21peGx5JwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5pys5py655So5oi3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywg5pys5py655So5oi3KQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +本机用户mixlyfuhua31234567890mixio.mixly.cn7b6443WHILETRUETrueGO0TRUEB1keyTRUETrueGO本机用户0TRUE姓名msg本机用户TrueOK0TRUEs1TrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoK5pys5py655So5oi3ID0gJ21peGx5JwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5pys5py655So5oi3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywg5pys5py655So5oi3KQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/33-2-课堂互动-按需签到.mix index 217a6c66..b63c07d2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/33-2-课堂互动-按需签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/33-2-课堂互动-按需签到.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodTrue==0TRUEWHILETRUE开始签到B1keyTRUE姓名msg本机用户开始签到FALSETrue==本机用户0TRUEs1TrueOK0TRUEs1True==0TRUEmethod开始签到EQmsg1开始签到TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+etvuWIsAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vnrb7liLAgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCuacrOacuueUqOaItyA9ICdtaXhseScK5byA5aeL562+5YiwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrb7liLAnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etvuWIsCcpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrb7liLA6CiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflp5PlkI0nLCDmnKzmnLrnlKjmiLcpCiAgICAgICAgICAgIOW8gOWni+etvuWIsCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOacrOacuueUqOaItywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnPT0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +clienttopicmsg本机用户mixly开始签到FALSEfuhua31234567890mixio.mixly.cn7b6443开始签到methodTrue==0TRUEWHILETRUE开始签到B1keyTRUE姓名msg本机用户开始签到FALSETrue==本机用户0TRUEs1TrueOK0TRUEs1True==0TRUEmethod开始签到EQmsg1开始签到TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+etvuWIsAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vnrb7liLAgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCuacrOacuueUqOaItyA9ICdtaXhseScK5byA5aeL562+5YiwID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrb7liLAnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etvuWIsCcpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrb7liLA6CiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflp5PlkI0nLCDmnKzmnLrnlKjmiLcpCiAgICAgICAgICAgIOW8gOWni+etvuWIsCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOacrOacuueUqOaItywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnPT0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/34-1-课堂互动-一人抢答.mix index 07b0c517..2f60657d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/34-1-课堂互动-一人抢答.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/34-1-课堂互动-一人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1keyTRUE抢答者msg本机用户TrueOK0TRUEs1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者True==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIUKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhSA9IG1zZwogICAg5byA5aeL5oqi562UID0gRmFsc2UKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmiqLnrZTogIUsIGNvbG9yPTB4ZmZmZikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL5oqi562UID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdHTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrmnKzmnLrnlKjmiLcgPSAnbWl4bHknCuaKouetlOiAhSA9ICcnCuW8gOWni+aKouetlCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vmiqLnrZQ6CiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTogIUnLCDmnKzmnLrnlKjmiLcpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICDlvIDlp4vmiqLnrZQgPSBGYWxzZQo= \ No newline at end of file +clienttopicmsg本机用户mixly抢答者开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1keyTRUE抢答者msg本机用户TrueOK0TRUEs1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者True==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIUKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhSA9IG1zZwogICAg5byA5aeL5oqi562UID0gRmFsc2UKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmiqLnrZTogIUsIGNvbG9yPTB4ZmZmZikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL5oqi562UID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdHTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrmnKzmnLrnlKjmiLcgPSAnbWl4bHknCuaKouetlOiAhSA9ICcnCuW8gOWni+aKouetlCA9IEZhbHNlCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3ODkwJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz03YjY0NDMnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vmiqLnrZQ6CiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTogIUnLCDmnKzmnLrnlKjmiLcpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICDlvIDlp4vmiqLnrZQgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/34-2-课堂互动-多人抢答.mix index 73eb4883..178e6de6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/34-2-课堂互动-多人抢答.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/34-2-课堂互动-多人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1keyTRUE抢答者msg本机用户TrueOK0TRUEs1开始抢答FALSETrue==0TRUEmethod2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSETrue==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIXpm4blkIgKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhembhuWQiC5hZGQobXNnKQogICAgaWYgbGVuKOaKouetlOiAhembhuWQiCkgPj0gMjoKICAgICAgICDmiqLnrZTogIXpm4blkIggPSBzZXQoKQogICAgICAgIOW8gOWni+aKouetlCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+aKouetlAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vmiqLnrZQgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCuacrOacuueUqOaItyA9ICdtaXhseScK5oqi562U6ICF6ZuG5ZCIID0gc2V0KCkK5byA5aeL5oqi562UID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+aKouetlDoKICAgICAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIOacrOacuueUqOaItykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ09LJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIOW8gOWni+aKouetlCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +clienttopicmsg本机用户mixly抢答者集合开始抢答FALSEfuhua31234567890mixio.mixly.cn7b6443开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1keyTRUE抢答者msg本机用户TrueOK0TRUEs1开始抢答FALSETrue==0TRUEmethod2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSETrue==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIXpm4blkIgKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhembhuWQiC5hZGQobXNnKQogICAgaWYgbGVuKOaKouetlOiAhembhuWQiCkgPj0gMjoKICAgICAgICDmiqLnrZTogIXpm4blkIggPSBzZXQoKQogICAgICAgIOW8gOWni+aKouetlCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+aKouetlAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vmiqLnrZQgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCuacrOacuueUqOaItyA9ICdtaXhseScK5oqi562U6ICF6ZuG5ZCIID0gc2V0KCkK5byA5aeL5oqi562UID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+aKouetlDoKICAgICAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIOacrOacuueUqOaItykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ09LJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIOW8gOWni+aKouetlCA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/35-1-课堂互动-单选答题.mix index a62dddcb..da270f88 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/35-1-课堂互动-单选答题.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/35-1-课堂互动-单选答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBnbG9iYWwg6YCJ5oup57uT5p6cCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOW8gOWni+etlOmimCA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnR08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6YCJ5oup57uT5p6cID0gJz0nCgoK5pys5py655So5oi3ID0gJ21peGx5JwrnrZTpopjnu5PmnpwgPSAnPScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562U6aKYOgogICAgICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQycKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0QnCiAgICAgICAgaWYg6YCJ5oup57uT5p6cICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6YCJ5oup57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOmAieaLqee7k+aenCkKICAgICAgICAgICAg5byA5aeL562U6aKYID0gRmFsc2UKICAgICAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg1开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBnbG9iYWwg6YCJ5oup57uT5p6cCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOW8gOWni+etlOmimCA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnR08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6YCJ5oup57uT5p6cID0gJz0nCgoK5pys5py655So5oi3ID0gJ21peGx5JwrnrZTpopjnu5PmnpwgPSAnPScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562U6aKYOgogICAgICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQycKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0QnCiAgICAgICAgaWYg6YCJ5oup57uT5p6cICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6YCJ5oup57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOmAieaLqee7k+aenCkKICAgICAgICAgICAg5byA5aeL562U6aKYID0gRmFsc2UKICAgICAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/35-2-课堂互动-多选答题.mix index 1c9ab488..e886ef9b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/35-2-课堂互动-多选答题.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/35-2-课堂互动-多选答题.mix @@ -1 +1 @@ -clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果TrueMixlymylistx答题集合0TRUEB1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOW8gOWni+etlOmimCA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnR08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoK562U6aKY6ZuG5ZCIID0gc2V0KCkK5byA5aeL562U6aKYID0gRmFsc2UK6YCJ5oup57uT5p6cID0gJycKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562U6aKYOgogICAgICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQycKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0QnCiAgICAgICAgaWYg6YCJ5oup57uT5p6cICE9ICcnOgogICAgICAgICAgICDnrZTpopjpm4blkIguYWRkKOmAieaLqee7k+aenCkKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJycKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJycuam9pbihsaXN0KOetlOmimOmbhuWQiCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCAnJy5qb2luKGxpc3Qo562U6aKY6ZuG5ZCIKSkpCiAgICAgICAgICAgIOW8gOWni+etlOmimCA9IEZhbHNlCiAgICAgICAgICAgIOetlOmimOmbhuWQiCA9IHNldCgpCiAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg答题集合开始答题FALSE选择结果fuhua31234567890mixio.mixly.cn7b6443开始答题methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果add答题集合0选择结果选择结果TrueMixlymylistx答题集合0TRUEB1key选项Amylistx答题集合开始答题FALSE答题集合659100method开始答题EQmsg1开始答题TRUETrueGO0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIOW8gOWni+etlOmimCA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnR08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoK562U6aKY6ZuG5ZCIID0gc2V0KCkK5byA5aeL562U6aKYID0gRmFsc2UK6YCJ5oup57uT5p6cID0gJycKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrZTpopgnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etlOmimCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562U6aKYOgogICAgICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQycKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0QnCiAgICAgICAgaWYg6YCJ5oup57uT5p6cICE9ICcnOgogICAgICAgICAgICDnrZTpopjpm4blkIguYWRkKOmAieaLqee7k+aenCkKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJycKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJycuam9pbihsaXN0KOetlOmimOmbhuWQiCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpgInpobknLCAnJy5qb2luKGxpc3Qo562U6aKY6ZuG5ZCIKSkpCiAgICAgICAgICAgIOW8gOWni+etlOmimCA9IEZhbHNlCiAgICAgICAgICAgIOetlOmimOmbhuWQiCA9IHNldCgpCiAgICAgICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/36-1-课堂互动-点名答题.mix index f935b3d2..935e77ce 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/36-1-课堂互动-点名答题.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/36-1-课堂互动-点名答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBnbG9iYWwg6YCJ5oup57uT5p6cCiAgICBpZiBtc2cgPT0g5pys5py655So5oi3OgogICAgICAgIOW8gOWni+etlOmimCA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnR08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6YCJ5oup57uT5p6cID0gJz0nCgoK5pys5py655So5oi3ID0gJ21peGx5JwrnrZTpopjnu5PmnpwgPSAnPScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562U6aKYOgogICAgICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQycKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0QnCiAgICAgICAgaWYg6YCJ5oup57uT5p6cICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6YCJ5oup57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOmAieaLqee7k+aenCkKICAgICAgICAgICAg5byA5aeL562U6aKYID0gRmFsc2UKICAgICAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBnbG9iYWwg6YCJ5oup57uT5p6cCiAgICBpZiBtc2cgPT0g5pys5py655So5oi3OgogICAgICAgIOW8gOWni+etlOmimCA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnR08nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6YCJ5oup57uT5p6cID0gJz0nCgoK5pys5py655So5oi3ID0gJ21peGx5JwrnrZTpopjnu5PmnpwgPSAnPScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTdiNjQ0MycpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfnrZTpopjnlKjmiLcnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+etlOmimOeUqOaItycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562U6aKYOgogICAgICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0EnCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdCJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQycKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0QnCiAgICAgICAgaWYg6YCJ5oup57uT5p6cICE9ICc9JzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6YCJ5oup57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOmAieaLqee7k+aenCkKICAgICAgICAgICAg5byA5aeL562U6aKYID0gRmFsc2UKICAgICAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg2NTksIDEwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/36-2-课堂互动-多人点答.mix index f6d8cb12..a909f8b4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/36-2-课堂互动-多人点答.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/36-2-课堂互动-多人点答.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBnbG9iYWwg6YCJ5oup57uT5p6cCiAgICBpZiBtc2cuZmluZCjmnKzmnLrnlKjmiLcpID4gLTE6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdHTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICDpgInmi6nnu5PmnpwgPSAnPScKCgrmnKzmnLrnlKjmiLcgPSAnbWl4bHknCuetlOmimOe7k+aenCA9ICc9JwrlvIDlp4vnrZTpopggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+etlOmimOeUqOaItycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn562U6aKY55So5oi3JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrZTpopg6CiAgICAgICAgaWYgbWl4Z29fbm92YS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQScKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0InCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdDJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnRCcKICAgICAgICBpZiDpgInmi6nnu5PmnpwgIT0gJz0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjpgInmi6nnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg6YCJ5oup57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQo= \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果GTHello,mixlymsgl本机用户-1开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5byA5aeL562U6aKYCiAgICBnbG9iYWwg6YCJ5oup57uT5p6cCiAgICBpZiBtc2cuZmluZCjmnKzmnLrnlKjmiLcpID4gLTE6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdHTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICDpgInmi6nnu5PmnpwgPSAnPScKCgrmnKzmnLrnlKjmiLcgPSAnbWl4bHknCuetlOmimOe7k+aenCA9ICc9JwrlvIDlp4vnrZTpopggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+etlOmimOeUqOaItycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn562U6aKY55So5oi3JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrZTpopg6CiAgICAgICAgaWYgbWl4Z29fbm92YS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQScKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0InCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdDJwogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnRCcKICAgICAgICBpZiDpgInmi6nnu5PmnpwgIT0gJz0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjpgInmi6nnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg6YCJ5oup57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/37-1-文件操作-列出文件.mix index d2a275cf..2bd6fd62 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/37-1-文件操作-列出文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/37-1-文件操作-列出文件.mix @@ -1 +1 @@ -MixlyMixlys0,1,2,305LENs1iFalseMixlys0i00MULTIPLY1i1210255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCnByaW50KG9zLmxpc3RkaXIoKSkKcHJpbnQob3MuZ2V0Y3dkKCkpCnMgPSBvcy5saXN0ZGlyKCkKZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHMpLCAxKToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHNbaV0sIHg9MCwgeT1pICogMTIsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +MixlyMixlys0,1,2,305LENs1iFalseMixlys0i00MULTIPLY1i1210255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCnByaW50KG9zLmxpc3RkaXIoKSkKcHJpbnQob3MuZ2V0Y3dkKCkpCnMgPSBvcy5saXN0ZGlyKCkKZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHMpLCAxKToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHNbaV0sIHg9MCwgeT1pICogMTIsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/37-2-文件操作-列出文件2.mix index 4cab8b56..aafcc598 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/37-2-文件操作-列出文件2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/37-2-文件操作-列出文件2.mix @@ -1 +1 @@ -MixlyMixlys0,1,2,305LENs1iGTi9shift_up12TRUEFalseMixlys0i010810255,255,0#ffffffTRUEFalseMixlys0i00MULTIPLY1i1210255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCnByaW50KG9zLmxpc3RkaXIoKSkKcHJpbnQob3MuZ2V0Y3dkKCkpCnMgPSBvcy5saXN0ZGlyKCkKZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHMpLCAxKToKICAgIGlmIGkgPiA5OgogICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X3VwKDEyLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzW2ldLCB4PTAsIHk9MTA4LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc1tpXSwgeD0wLCB5PWkgKiAxMiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +MixlyMixlys0,1,2,305LENs1iGTi9shift_up12TRUEFalseMixlys0i010810255,255,0#ffffffTRUEFalseMixlys0i00MULTIPLY1i1210255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG9zCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCnByaW50KG9zLmxpc3RkaXIoKSkKcHJpbnQob3MuZ2V0Y3dkKCkpCnMgPSBvcy5saXN0ZGlyKCkKZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKHMpLCAxKToKICAgIGlmIGkgPiA5OgogICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X3VwKDEyLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzW2ldLCB4PTAsIHk9MTA4LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc1tpXSwgeD0wLCB5PWkgKiAxMiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/38-1-文件操作-文件读写.mix index ab49979d..77d53f4c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/38-1-文件操作-文件读写.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/38-1-文件操作-文件读写.mix @@ -1 +1 @@ -wtest.txtf0,1,2,301001iMixlyxifMixly13ffrtest.txtfsreadlinefWHILETRUEsMixlyssreadlineff{}aW1wb3J0IG1hY2hpbmUKCgpmID0gb3BlbigndGVzdC50eHQnLCAndycpCmZvciBpIGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICBmLndyaXRlKHN0cihpKSkKICAgIGYud3JpdGUoY2hyKDEzKSkKZi5jbG9zZSgpCmYgPSBvcGVuKCd0ZXN0LnR4dCcsICdyJykKcyA9IGYucmVhZGxpbmUoKQp3aGlsZSBzOgogICAgcHJpbnQocykKICAgIHMgPSBmLnJlYWRsaW5lKCkKZi5jbG9zZSgpCg== \ No newline at end of file +wtest.txtf0,1,2,301001iMixlyxifMixly13ffrtest.txtfsreadlinefWHILETRUEsMixlyssreadlineff{}aW1wb3J0IG1hY2hpbmUKCgpmID0gb3BlbigndGVzdC50eHQnLCAndycpCmZvciBpIGluIHJhbmdlKDAsIDEwMCwgMSk6CiAgICBmLndyaXRlKHN0cihpKSkKICAgIGYud3JpdGUoY2hyKDEzKSkKZi5jbG9zZSgpCmYgPSBvcGVuKCd0ZXN0LnR4dCcsICdyJykKcyA9IGYucmVhZGxpbmUoKQp3aGlsZSBzOgogICAgcHJpbnQocykKICAgIHMgPSBmLnJlYWRsaW5lKCkKZi5jbG9zZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/38-2-文件操作-文件读写2.mix index 6fc4718f..1b1c3d78 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/38-2-文件操作-文件读写2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/38-2-文件操作-文件读写2.mix @@ -1 +1 @@ -wtest.binf0,1,2,301001iMixlyxfMixly13ffrtest.binfsreadlinefWHILETRUEsMixlyssreadlineff{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAppbXBvcnQgbWFjaGluZQoKCmYgPSBvcGVuKCd0ZXN0LmJpbicsICd3JykKZm9yIGkgaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgIGYud3JpdGUoc3RyKHNvdW5kX2xldmVsKCkpKQogICAgZi53cml0ZShjaHIoMTMpKQpmLmNsb3NlKCkKZiA9IG9wZW4oJ3Rlc3QuYmluJywgJ3InKQpzID0gZi5yZWFkbGluZSgpCndoaWxlIHM6CiAgICBwcmludChzKQogICAgcyA9IGYucmVhZGxpbmUoKQpmLmNsb3NlKCkK \ No newline at end of file +wtest.binf0,1,2,301001iMixlyxfMixly13ffrtest.binfsreadlinefWHILETRUEsMixlyssreadlineff{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbAppbXBvcnQgbWFjaGluZQoKCmYgPSBvcGVuKCd0ZXN0LmJpbicsICd3JykKZm9yIGkgaW4gcmFuZ2UoMCwgMTAwLCAxKToKICAgIGYud3JpdGUoc3RyKHNvdW5kX2xldmVsKCkpKQogICAgZi53cml0ZShjaHIoMTMpKQpmLmNsb3NlKCkKZiA9IG9wZW4oJ3Rlc3QuYmluJywgJ3InKQpzID0gZi5yZWFkbGluZSgpCndoaWxlIHM6CiAgICBwcmludChzKQogICAgcyA9IGYucmVhZGxpbmUoKQpmLmNsb3NlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放.mix index 64f87f65..9d2c4eb0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放.mix @@ -1 +1 @@ -/1.wav5/1.wav5rb/1.wavfdreadf100WHILETRUEdMixlyddreadf100f{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCByZWNvcmRfYXVkaW8KaW1wb3J0IG1hY2hpbmUKCgpyZWNvcmRfYXVkaW8oJy8xLndhdicsIDUpCnJlY29yZF9hdWRpbygnLzEud2F2JywgNSkKZiA9IG9wZW4oJy8xLndhdicsICdyYicpCmQgPSBmLnJlYWQoMTAwKQp3aGlsZSBkOgogICAgcHJpbnQoZCkKICAgIGQgPSBmLnJlYWQoMTAwKQpmLmNsb3NlKCkK \ No newline at end of file +/1.wav5/1.wav5rb/1.wavfdreadf100WHILETRUEdMixlyddreadf100f{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCByZWNvcmRfYXVkaW8KaW1wb3J0IG1hY2hpbmUKCgpyZWNvcmRfYXVkaW8oJy8xLndhdicsIDUpCnJlY29yZF9hdWRpbygnLzEud2F2JywgNSkKZiA9IG9wZW4oJy8xLndhdicsICdyYicpCmQgPSBmLnJlYWQoMTAwKQp3aGlsZSBkOgogICAgcHJpbnQoZCkKICAgIGQgPSBmLnJlYWQoMTAwKQpmLmNsb3NlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放2.mix index 277c6789..e6d5a94e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放2.mix @@ -1 +1 @@ -TrueB1录B2放0TRUEWHILETRUEB1keyTrue0TRUE/1.wav5TRUEB2keyTrue0TRUE/1.wavTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHJlY29yZF9hdWRpbwpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHBsYXlfYXVkaW8KCm9uYm9hcmRfdGZ0LnNob3dzKCdCMeW9lUIy5pS+Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZUnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgcmVjb3JkX2F1ZGlvKCcvMS53YXYnLCA1KQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aUvicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBwbGF5X2F1ZGlvKCcvMS53YXYnKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file +TrueB1录B2放0TRUEWHILETRUEB1keyTrue0TRUE/1.wav5TRUEB2keyTrue0TRUE/1.wavTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHJlY29yZF9hdWRpbwpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHBsYXlfYXVkaW8KCm9uYm9hcmRfdGZ0LnNob3dzKCdCMeW9lUIy5pS+Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZUnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgcmVjb3JkX2F1ZGlvKCcvMS53YXYnLCA1KQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aUvicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBwbGF5X2F1ZGlvKCcvMS53YXYnKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/40-1-文件操作-SD录音播放2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/40-1-文件操作-SD录音播放2.mix index 42a657fa..6e9b3082 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/40-1-文件操作-SD录音播放2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/40-1-文件操作-SD录音播放2.mix @@ -1 +1 @@ -TrueB1录B2放0TRUEWHILETRUEB1keyTrue0TRUE/sd/1.wav5TRUEB2keyTrue0TRUE/sd/1.wavTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHJlY29yZF9hdWRpbwpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHBsYXlfYXVkaW8KCm9uYm9hcmRfdGZ0LnNob3dzKCdCMeW9lUIy5pS+Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZUnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgcmVjb3JkX2F1ZGlvKCcvc2QvMS53YXYnLCA1KQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aUvicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBwbGF5X2F1ZGlvKCcvc2QvMS53YXYnKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file +TrueB1录B2放0TRUEWHILETRUEB1keyTrue0TRUE/sd/1.wav5TRUEB2keyTrue0TRUE/sd/1.wavTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHJlY29yZF9hdWRpbwpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHBsYXlfYXVkaW8KCm9uYm9hcmRfdGZ0LnNob3dzKCdCMeW9lUIy5pS+Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZUnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgcmVjb3JkX2F1ZGlvKCcvc2QvMS53YXYnLCA1KQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aUvicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBwbGF5X2F1ZGlvKCcvc2QvMS53YXYnKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/40-2-文件操作-SD采集重现.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/40-2-文件操作-SD采集重现.mix index a1f38a74..12b6663c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/40-2-文件操作-SD采集重现.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/40-2-文件操作-SD采集重现.mix @@ -1 +1 @@ -WHILETRUEB1keyTRUE11w/sd/test.txtf0,1,2,301601xd0x12750x50intx0d0200001270255,255,0#ffffffTRUEMixlyxintxdfMixly10ff10B2keyTRUE21r/sd/test.txtf0,1,2,301601xsreadlinefsdintxs0x12750x50intx0d0200001270255,255,0#ffffffTRUEfException as ee20{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc291bmRfbGV2ZWwKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKaW1wb3J0IG1hY2hpbmUKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZiA9IG9wZW4oJy9zZC90ZXN0LnR4dCcsICd3JykKICAgICAgICBmb3IgeCBpbiByYW5nZSgwLCAxNjAsIDEpOgogICAgICAgICAgICBkID0gc291bmRfbGV2ZWwoKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5saW5lKHgsIDEyNywgeCwgaW50KChtYXRoX21hcChkLCAwLCAyMDAwMCwgMTI3LCAwKSkpLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgICAgIHRyeToKICAgICAgICAgICAgZiA9IG9wZW4oJy9zZC90ZXN0LnR4dCcsICdyJykKICAgICAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTYwLCAxKToKICAgICAgICAgICAgICAgIHMgPSBmLnJlYWRsaW5lKCkKICAgICAgICAgICAgICAgIGlmIHM6CiAgICAgICAgICAgICAgICAgICAgZCA9IGludChzKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMTI3LCB4LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDIwMDAwLCAxMjcsIDApKSksIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +WHILETRUEB1keyTRUE11w/sd/test.txtf0,1,2,301601xd0x12750x50intx0d0200001270255,255,0#ffffffTRUEMixlyxintxdfMixly10ff10B2keyTRUE21r/sd/test.txtf0,1,2,301601xsreadlinefsdintxs0x12750x50intx0d0200001270255,255,0#ffffffTRUEfException as ee20{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc291bmRfbGV2ZWwKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKaW1wb3J0IG1hY2hpbmUKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZiA9IG9wZW4oJy9zZC90ZXN0LnR4dCcsICd3JykKICAgICAgICBmb3IgeCBpbiByYW5nZSgwLCAxNjAsIDEpOgogICAgICAgICAgICBkID0gc291bmRfbGV2ZWwoKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5saW5lKHgsIDEyNywgeCwgaW50KChtYXRoX21hcChkLCAwLCAyMDAwMCwgMTI3LCAwKSkpLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBmLndyaXRlKHN0cihpbnQoZCkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgICAgIHRyeToKICAgICAgICAgICAgZiA9IG9wZW4oJy9zZC90ZXN0LnR4dCcsICdyJykKICAgICAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMTYwLCAxKToKICAgICAgICAgICAgICAgIHMgPSBmLnJlYWRsaW5lKCkKICAgICAgICAgICAgICAgIGlmIHM6CiAgICAgICAgICAgICAgICAgICAgZCA9IGludChzKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMTI3LCB4LCBpbnQoKG1hdGhfbWFwKGQsIDAsIDIwMDAwLCAxMjcsIDApKSksIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix index 260403b0..ca341fc7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/10-2 订阅主题(欢迎提示).mix @@ -1 +1 @@ -clienttopicmsgmethod显示消息显示消息msg显示消息==fuhua312345678FalseWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoFalseMO0TRUE显示消息methodWHILETRUETrueMixly显示消息0TRUE{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5pi+56S65raI5oGvCiAgICDmmL7npLrmtojmga8gPSBtc2cKCgrmmL7npLrmtojmga8gPSAnPT0nCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCdXTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfdGZ0LnNob3dzKCdNTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65raI5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrmtojmga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaYvuekuua2iOaBrywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +clienttopicmsgmethod显示消息显示消息msg显示消息==fuhua312345678FalseWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoFalseMO0TRUE显示消息methodWHILETRUETrueMixly显示消息0TRUE{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwg5pi+56S65raI5oGvCiAgICDmmL7npLrmtojmga8gPSBtc2cKCgrmmL7npLrmtojmga8gPSAnPT0nCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCdXTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfdGZ0LnNob3dzKCdNTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S65raI5oGvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLrmtojmga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaYvuekuua2iOaBrywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix index 708b9a8f..f824ce66 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-1 舵机转动.mix @@ -1 +1 @@ -角度绘制指针LTELTE0x角度359TRUE806450intxADD801MULTIPLY601COS90MULTIPLY1DIVIDE1角度1801pi50intxADD641MULTIPLY601SIN90MULTIPLY1DIVIDE1角度1801pi255,255,0#ffffffWHILETRUE18031800,1,2,31800-1iis0.010300,1,2,301801iis0.01{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWF0aAppbXBvcnQgdGltZQoKZGVmIOe7mOWItuaMh+mSiCjop5LluqYpOgogICAgaWYgMCA8PSDop5LluqYgPD0gMzU5OgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQubGluZSg4MCwgNjQsIGludCgoODAgKyA2MCAqIG1hdGguY29zKCgo6KeS5bqmIC8gMTgwKSAqIG1hdGgucGkpKSkpLCBpbnQoKDY0ICsgNjAgKiBtYXRoLnNpbigoKOinkuW6piAvIDE4MCkgKiBtYXRoLnBpKSkpKSwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgp3aGlsZSBUcnVlOgogICAg57uY5Yi25oyH6ZKIKDE4MCkKICAgIGZvciBpIGluIHJhbmdlKDE4MCwgMCwgLTEpOgogICAgICAgIOe7mOWItuaMh+mSiChpKQogICAgICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIOe7mOWItuaMh+mSiCgwKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTgwLCAxKToKICAgICAgICDnu5jliLbmjIfpkogoaSkKICAgICAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file +角度绘制指针LTELTE0x角度359TRUE806450intxADD801MULTIPLY601COS90MULTIPLY1DIVIDE1角度1801pi50intxADD641MULTIPLY601SIN90MULTIPLY1DIVIDE1角度1801pi255,255,0#ffffffWHILETRUE18031800,1,2,31800-1iis0.010300,1,2,301801iis0.01{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWF0aAppbXBvcnQgdGltZQoKZGVmIOe7mOWItuaMh+mSiCjop5LluqYpOgogICAgaWYgMCA8PSDop5LluqYgPD0gMzU5OgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQubGluZSg4MCwgNjQsIGludCgoODAgKyA2MCAqIG1hdGguY29zKCgo6KeS5bqmIC8gMTgwKSAqIG1hdGgucGkpKSkpLCBpbnQoKDY0ICsgNjAgKiBtYXRoLnNpbigoKOinkuW6piAvIDE4MCkgKiBtYXRoLnBpKSkpKSwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgp3aGlsZSBUcnVlOgogICAg57uY5Yi25oyH6ZKIKDE4MCkKICAgIGZvciBpIGluIHJhbmdlKDE4MCwgMCwgLTEpOgogICAgICAgIOe7mOWItuaMh+mSiChpKQogICAgICAgIHRpbWUuc2xlZXAoMC4wMSkKICAgIOe7mOWItuaMh+mSiCgwKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTgwLCAxKToKICAgICAgICDnu5jliLbmjIfpkogoaSkKICAgICAgICB0aW1lLnNsZWVwKDAuMDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix index a55c7d7a..9a3eb788 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-2 刷卡开门.mix @@ -1 +1 @@ -WHILETRUEidNEQidNoneMixlyid659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKd2hpbGUgVHJ1ZToKICAgIGlkMiA9IG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKGlkMikgIT0gJ05vbmUnOgogICAgICAgIHByaW50KGlkMikKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEidNEQidNoneMixlyid659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKd2hpbGUgVHJ1ZToKICAgIGlkMiA9IG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKGlkMikgIT0gJ05vbmUnOgogICAgICAgIHByaW50KGlkMikKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix index e11c2d87..99afc75f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-2-3 模拟刷卡开门.mix @@ -1 +1 @@ -mylist2029118106,14710213648,3,4,5WHILETRUEidNEQidNoneMixlyid659100inid0,1,2,3mylistobject_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKbXlsaXN0ID0gWzIwMjkxMTgxMDYsMTQ3MTAyMTM2NDgsMyw0LDVdCndoaWxlIFRydWU6CiAgICBpZDIgPSBvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICBwcmludChpZDIpCiAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBpZiBpZDIgaW4gbXlsaXN0OgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +mylist2029118106,14710213648,3,4,5WHILETRUEidNEQidNoneMixlyid659100inid0,1,2,3mylistobject_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKbXlsaXN0ID0gWzIwMjkxMTgxMDYsMTQ3MTAyMTM2NDgsMyw0LDVdCndoaWxlIFRydWU6CiAgICBpZDIgPSBvbmJvYXJkX3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cihpZDIpICE9ICdOb25lJzoKICAgICAgICBwcmludChpZDIpCiAgICAgICAgc3BrX21pZGkucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBpZiBpZDIgaW4gbXlsaXN0OgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix index 01e4b3f5..1419f6e9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/12-3 刷卡开门显示姓名.mix @@ -1 +1 @@ -mydict20291181061471021364815414107106小米小思小齐WHILETRUEidNEQxidNoneMixlyidinidid0,1,2,3mydict659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEMixlymydictkeyid0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKbXlkaWN0PSB7MjAyOTExODEwNjon5bCP57GzJywgMTQ3MTAyMTM2NDg6J+Wwj+aAnScsIDE1NDE0MTA3MTA2OiflsI/pvZAnfQp3aGlsZSBUcnVlOgogICAgaWQyID0gb25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIGlmIGlkMiBpbiBteWRpY3Qua2V5cygpOgogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbChteWRpY3QuZ2V0KGlkMiwwKSwgY29sb3I9MHhmZmZmKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +mydict20291181061471021364815414107106小米小思小齐WHILETRUEidNEQxidNoneMixlyidinidid0,1,2,3mydict659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEMixlymydictkeyid0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKbXlkaWN0PSB7MjAyOTExODEwNjon5bCP57GzJywgMTQ3MTAyMTM2NDg6J+Wwj+aAnScsIDE1NDE0MTA3MTA2OiflsI/pvZAnfQp3aGlsZSBUcnVlOgogICAgaWQyID0gb25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBzdHIoaWQyKSAhPSAnTm9uZSc6CiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIGlmIGlkMiBpbiBteWRpY3Qua2V5cygpOgogICAgICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbChteWRpY3QuZ2V0KGlkMiwwKSwgY29sb3I9MHhmZmZmKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix index 1062bb3f..1994305a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-1 远程门铃演示.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo门铃methodWHILETRUEmethodEQmsg1spk_midi.DADADADUM{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBzcGtfbWlkaS5wbGF5KHNwa19taWRpLkRBREFEQURVTSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfpl6jpk4MnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+mXqOmTgycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=aWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo门铃methodWHILETRUEmethodEQmsg1spk_midi.DADADADUM{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgaWYgbXNnID09ICcxJzoKICAgICAgICBzcGtfbWlkaS5wbGF5KHNwa19taWRpLkRBREFEQURVTSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfpl6jpk4MnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+mXqOmTgycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=aWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix index 6557e417..8252bd80 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-1 发送按下门铃.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim50000tim_callbackWHILETRUEB1keyBell有人按门铃tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbm92YQoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iuvuWkh+eKtuaAgScsICflnKjnur8nKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdCZWxsJywgJ+acieS6uuaMiemXqOmTgycpCg==OmTgycpCg== \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim50000tim_callbackWHILETRUEB1keyBell有人按门铃tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbm92YQoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iuvuWkh+eKtuaAgScsICflnKjnur8nKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdCZWxsJywgJ+acieS6uuaMiemXqOmTgycpCg==OmTgycpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix index 1f604116..4d0c2170 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-2-2 响应按下门铃.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoBellmethodWHILETRUEmethodEQmsg有人按门铃True有人按门铃0TRUEs1TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ+acieS6uuaMiemXqOmTgyc6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acieS6uuaMiemXqOmTgycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0JlbGwnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0JlbGwnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoBellmethodWHILETRUEmethodEQmsg有人按门铃True有人按门铃0TRUEs1TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ+acieS6uuaMiemXqOmTgyc6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acieS6uuaMiemXqOmTgycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0JlbGwnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0JlbGwnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix index 80442246..3c9304ae 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/13-3 响应按下门铃.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoBellmethodWHILETRUEmethodEQmsg有人按门铃True有人按门铃0TRUEspk_midi.BA_DINGTRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAn5pyJ5Lq65oyJ6Zeo6ZODJzoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5pyJ5Lq65oyJ6Zeo6ZODJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHNwa19taWRpLnBsYXkoc3BrX21pZGkuQkFfRElORykKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnQmVsbCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnQmVsbCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoBellmethodWHILETRUEmethodEQmsg有人按门铃True有人按门铃0TRUEspk_midi.BA_DINGTRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAn5pyJ5Lq65oyJ6Zeo6ZODJzoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5pyJ5Lq65oyJ6Zeo6ZODJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHNwa19taWRpLnBsYXkoc3BrX21pZGkuQkFfRElORykKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnQmVsbCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnQmVsbCcpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix index 78e2ad74..0abc3e15 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/14-2-2 响应远程开锁.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoDoormethodWHILETRUEmethodEQmsgopenobject_picture.DOOR_OPENTRUE3180s330object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ29wZW4nOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0Rvb3InLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0Rvb3InKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoDoormethodWHILETRUEmethodEQmsgopenobject_picture.DOOR_OPENTRUE3180s330object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJ29wZW4nOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0Rvb3InLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0Rvb3InKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix index 8dce859e..ac33cd44 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-2 利用摄像头实现人脸识别.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictmydictididmydictidnamemydictidfaceProbability{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgcHJpbnQobXlkaWN0WydpZCddLCBteWRpY3RbJ25hbWUnXSwgbXlkaWN0WydmYWNlUHJvYmFiaWxpdHknXSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg==CkK \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictmydictididmydictidnamemydictidfaceProbability{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgcHJpbnQobXlkaWN0WydpZCddLCBteWRpY3RbJ25hbWUnXSwgbXlkaWN0WydmYWNlUHJvYmFiaWxpdHknXSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg==CkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix index 3f5479b6..f49d9b5a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-3 刷脸开锁.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgmydictididmydictidfaceProbabilityGTfloatxmydictidfaceProbability0.8object_picture.DOOR_OPENTRUEs2object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIHByaW50KG15ZGljdFsnaWQnXSwgbXlkaWN0WydmYWNlUHJvYmFiaWxpdHknXSkKICAgIGlmIGZsb2F0KG15ZGljdFsnZmFjZVByb2JhYmlsaXR5J10pID4gMC44OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgmydictididmydictidfaceProbabilityGTfloatxmydictidfaceProbability0.8object_picture.DOOR_OPENTRUEs2object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIHByaW50KG15ZGljdFsnaWQnXSwgbXlkaWN0WydmYWNlUHJvYmFiaWxpdHknXSkKICAgIGlmIGZsb2F0KG15ZGljdFsnZmFjZVByb2JhYmlsaXR5J10pID4gMC44OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix index 037131bc..c9cc7290 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/15-4 刷脸签到.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictMixlymydictidname{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChteWRpY3QpCiAgICBvbmJvYXJkX3RmdC5zY3JvbGwobXlkaWN0WyduYW1lJ10sIGNvbG9yPTB4ZmZmZikKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg==o= \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgMixlymydictMixlymydictidname{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChteWRpY3QpCiAgICBvbmJvYXJkX3RmdC5zY3JvbGwobXlkaWN0WyduYW1lJ10sIGNvbG9yPTB4ZmZmZikKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg==o= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix index 76f43382..6bbdf093 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-1 发送花瓶数据.mix @@ -1 +1 @@ -fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE空气温度msgtemperature空气湿度msghumidity光照强度msgls5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQgdGltZQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrmsJTmuKnluqYnLCBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpKQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn56m65rCU5rm/5bqmJywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFp+W8uuW6picsIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKQogICAgdGltZS5zbGVlcCg1KQo=/code> \ No newline at end of file +fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE空气温度msgtemperature空气湿度msghumidity光照强度msgls5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQgdGltZQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrmsJTmuKnluqYnLCBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpKQogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn56m65rCU5rm/5bqmJywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSkKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFp+W8uuW6picsIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKQogICAgdGltZS5zbGVlcCg1KQo=/code> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix index 6b455dd9..ad49fa4b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据.mix @@ -1 +1 @@ -fuhua312345678Weather_dailySVa3S0UKHIy9dDArs北京4WHILETRUE0,1,2,3041iFalseMixly白天天气:Mixlytext_day1i0010255,255,0#ffffffTRUEFalseMixly晚间天气:Mixlytext_night1i01610255,255,0#ffffffTRUEFalseMixly最高温度:Mixlyhigh1i03210255,255,0#ffffffTRUEFalseMixly最低温度:Mixlylow1i04810255,255,0#ffffffTRUEFalseMixly降水概率:Mixlyprecip1i06410255,255,0#ffffffTRUEFalseMixly风向角度:Mixlywind_direction_degree1i08010255,255,0#ffffffTRUEFalseMixly风力等级:Mixlywind_scale1i09610255,255,0#ffffffTRUETrueMixly第几天:Mixlyxi011210255,255,0#ffffffTRUEs1{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKV2VhdGhlcl9kYWlseS5yZXF1ZXN0KCdTVmEzUzBVS0hJeTlkREFycycsICfljJfkuqwnLCA0KQp3aGlsZSBUcnVlOgogICAgZm9yIGkgaW4gcmFuZ2UoMCwgNCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eZveWkqeWkqeawlO+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJ0ZXh0X2RheSIpLCB4PTAsIHk9MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aZmumXtOWkqeawlO+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJ0ZXh0X25pZ2h0IiksIHg9MCwgeT0xNiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acgOmrmOa4qeW6pu+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJoaWdoIiksIHg9MCwgeT0zMiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acgOS9jua4qeW6pu+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJsb3ciKSwgeD0wLCB5PTQ4LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6ZmN5rC05qaC546H77yaJyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoaSwgInByZWNpcCIpLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpo47lkJHop5LluqbvvJonICsgV2VhdGhlcl9kYWlseS5hbmFseXNpcyhpLCAid2luZF9kaXJlY3Rpb25fZGVncmVlIiksIHg9MCwgeT04MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mjjuWKm+etiee6p++8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJ3aW5kX3NjYWxlIiksIHg9MCwgeT05Niwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+esrOWHoOWkqe+8micgKyBzdHIoaSksIHg9MCwgeT0xMTIsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +fuhua312345678Weather_dailySVa3S0UKHIy9dDArs北京4WHILETRUE0,1,2,3041iFalseMixly白天天气:Mixlytext_day1i0010255,255,0#ffffffTRUEFalseMixly晚间天气:Mixlytext_night1i01610255,255,0#ffffffTRUEFalseMixly最高温度:Mixlyhigh1i03210255,255,0#ffffffTRUEFalseMixly最低温度:Mixlylow1i04810255,255,0#ffffffTRUEFalseMixly降水概率:Mixlyprecip1i06410255,255,0#ffffffTRUEFalseMixly风向角度:Mixlywind_direction_degree1i08010255,255,0#ffffffTRUEFalseMixly风力等级:Mixlywind_scale1i09610255,255,0#ffffffTRUETrueMixly第几天:Mixlyxi011210255,255,0#ffffffTRUEs1{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKV2VhdGhlcl9kYWlseS5yZXF1ZXN0KCdTVmEzUzBVS0hJeTlkREFycycsICfljJfkuqwnLCA0KQp3aGlsZSBUcnVlOgogICAgZm9yIGkgaW4gcmFuZ2UoMCwgNCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eZveWkqeWkqeawlO+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJ0ZXh0X2RheSIpLCB4PTAsIHk9MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aZmumXtOWkqeawlO+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJ0ZXh0X25pZ2h0IiksIHg9MCwgeT0xNiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acgOmrmOa4qeW6pu+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJoaWdoIiksIHg9MCwgeT0zMiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acgOS9jua4qeW6pu+8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJsb3ciKSwgeD0wLCB5PTQ4LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6ZmN5rC05qaC546H77yaJyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoaSwgInByZWNpcCIpLCB4PTAsIHk9NjQsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpo47lkJHop5LluqbvvJonICsgV2VhdGhlcl9kYWlseS5hbmFseXNpcyhpLCAid2luZF9kaXJlY3Rpb25fZGVncmVlIiksIHg9MCwgeT04MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mjjuWKm+etiee6p++8micgKyBXZWF0aGVyX2RhaWx5LmFuYWx5c2lzKGksICJ3aW5kX3NjYWxlIiksIHg9MCwgeT05Niwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+esrOWHoOWkqe+8micgKyBzdHIoaSksIHg9MCwgeT0xMTIsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据2.mix index 0a9749b4..77354eac 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-2 获取天气数据2.mix @@ -1 +1 @@ -fuhua312345678Weather_nowSVa3S0UKHIy9dDArs北京FalseMixly天气:Mixlytext0010255,255,0#ffffffTRUEFalseMixly温度:Mixlytemperature01610255,255,0#ffffffTRUEFalseMixly湿度:Mixlyhumidity03210255,255,0#ffffffTRUEFalseMixly风向Mixlywind_direction04810255,255,0#ffffffTRUEFalseMixly风速:Mixlywind_speed06410255,255,0#ffffffTRUEFalseMixly能见度度:Mixlyvisibility08010255,255,0#ffffffTRUEFalseMixly体感温度:Mixlyfeels_like09610255,255,0#ffffffTRUE{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKV2VhdGhlcl9ub3cucmVxdWVzdCgnU1ZhM1MwVUtISXk5ZERBcnMnLCAn5YyX5LqsJykKb25ib2FyZF90ZnQuc2hvd3MoJ+WkqeawlO+8micgKyBXZWF0aGVyX25vdy5hbmFseXNpcygidGV4dCIpLCB4PTAsIHk9MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfmuKnluqbvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRlbXBlcmF0dXJlIiksIHg9MCwgeT0xNiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqbvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoImh1bWlkaXR5IiksIHg9MCwgeT0zMiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfpo47lkJEnICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoIndpbmRfZGlyZWN0aW9uIiksIHg9MCwgeT00OCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfpo47pgJ/vvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoIndpbmRfc3BlZWQiKSwgeD0wLCB5PTY0LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKb25ib2FyZF90ZnQuc2hvd3MoJ+iDveingeW6puW6pu+8micgKyBXZWF0aGVyX25vdy5hbmFseXNpcygidmlzaWJpbGl0eSIpLCB4PTAsIHk9ODAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQpvbmJvYXJkX3RmdC5zaG93cygn5L2T5oSf5rip5bqm77yaJyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJmZWVsc19saWtlIiksIHg9MCwgeT05Niwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +fuhua312345678Weather_nowSVa3S0UKHIy9dDArs北京FalseMixly天气:Mixlytext0010255,255,0#ffffffTRUEFalseMixly温度:Mixlytemperature01610255,255,0#ffffffTRUEFalseMixly湿度:Mixlyhumidity03210255,255,0#ffffffTRUEFalseMixly风向Mixlywind_direction04810255,255,0#ffffffTRUEFalseMixly风速:Mixlywind_speed06410255,255,0#ffffffTRUEFalseMixly能见度度:Mixlyvisibility08010255,255,0#ffffffTRUEFalseMixly体感温度:Mixlyfeels_like09610255,255,0#ffffffTRUE{}aW1wb3J0IG1peGlvdApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKV2VhdGhlcl9ub3cucmVxdWVzdCgnU1ZhM1MwVUtISXk5ZERBcnMnLCAn5YyX5LqsJykKb25ib2FyZF90ZnQuc2hvd3MoJ+WkqeawlO+8micgKyBXZWF0aGVyX25vdy5hbmFseXNpcygidGV4dCIpLCB4PTAsIHk9MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfmuKnluqbvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRlbXBlcmF0dXJlIiksIHg9MCwgeT0xNiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqbvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoImh1bWlkaXR5IiksIHg9MCwgeT0zMiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfpo47lkJEnICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoIndpbmRfZGlyZWN0aW9uIiksIHg9MCwgeT00OCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfpo47pgJ/vvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoIndpbmRfc3BlZWQiKSwgeD0wLCB5PTY0LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKb25ib2FyZF90ZnQuc2hvd3MoJ+iDveingeW6puW6pu+8micgKyBXZWF0aGVyX25vdy5hbmFseXNpcygidmlzaWJpbGl0eSIpLCB4PTAsIHk9ODAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQpvbmJvYXJkX3RmdC5zaG93cygn5L2T5oSf5rip5bqm77yaJyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJmZWVsc19saWtlIiksIHg9MCwgeT05Niwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix index 0a276c64..7dd4c481 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/17-3 发送花瓶数据 .mix @@ -1 +1 @@ -fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUEs5花盆环境msg"空气温度""光照强度""花盆角度"temperaturel[0]{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3Rocwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfoirHnm4bnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi56m65rCU5rip5bqmIjpvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5YWJ54Wn5by65bqmIjpvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIuiKseebhuinkuW6piI6b25ib2FyZF9hY2MuZXVsZXJhbmdsZXMoKVswXX0pKQo= \ No newline at end of file +fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUEs5花盆环境msg"空气温度""光照强度""花盆角度"temperaturel[0]{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgdGltZQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3Rocwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfoirHnm4bnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi56m65rCU5rip5bqmIjpvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5YWJ54Wn5by65bqmIjpvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIuiKseebhuinkuW6piI6b25ib2FyZF9hY2MuZXVsZXJhbmdsZXMoKVswXX0pKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix index 1aba629c..ad6bc176 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-1 模拟灌溉.mix @@ -1 +1 @@ -weather多云,小雨hum_min25hum_max60hum_now0WHILETRUEhum_now50-30000300000100GThum_nowhum_maxTrue不灌0TRUEGThum_nowhum_minGTHello,mixlyweather-1True不灌0TRUETrue灌溉0TRUEGTl10hum_min25hum_min20True灌溉0TRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKCndlYXRoZXIgPSAn5aSa5LqR77yM5bCP6ZuoJwpodW1fbWluID0gMjUKaHVtX21heCA9IDYwCmh1bV9ub3cgPSAwCndoaWxlIFRydWU6CiAgICBodW1fbm93ID0gKG1hdGhfbWFwKG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCksICgtMzAwMDApLCAzMDAwMCwgMCwgMTAwKSkKICAgIGlmIGh1bV9ub3cgPiBodW1fbWF4OgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfkuI3ngYwnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbGlmIGh1bV9ub3cgPiBodW1fbWluOgogICAgICAgIGlmIHdlYXRoZXIuZmluZCgn6ZuoJykgPiAtMToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+S4jeeBjCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn54GM5rqJJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTA6CiAgICAgICAgICAgIGh1bV9taW4gPSAyNQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGh1bV9taW4gPSAyMAogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn54GM5rqJJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +weather多云,小雨hum_min25hum_max60hum_now0WHILETRUEhum_now50-30000300000100GThum_nowhum_maxTrue不灌0TRUEGThum_nowhum_minGTHello,mixlyweather-1True不灌0TRUETrue灌溉0TRUEGTl10hum_min25hum_min20True灌溉0TRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKCndlYXRoZXIgPSAn5aSa5LqR77yM5bCP6ZuoJwpodW1fbWluID0gMjUKaHVtX21heCA9IDYwCmh1bV9ub3cgPSAwCndoaWxlIFRydWU6CiAgICBodW1fbm93ID0gKG1hdGhfbWFwKG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCksICgtMzAwMDApLCAzMDAwMCwgMCwgMTAwKSkKICAgIGlmIGh1bV9ub3cgPiBodW1fbWF4OgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfkuI3ngYwnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbGlmIGh1bV9ub3cgPiBodW1fbWluOgogICAgICAgIGlmIHdlYXRoZXIuZmluZCgn6ZuoJykgPiAtMToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+S4jeeBjCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn54GM5rqJJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTA6CiAgICAgICAgICAgIGh1bV9taW4gPSAyNQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGh1bV9taW4gPSAyMAogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn54GM5rqJJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix index 0465690f..56179d68 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-2 模拟补光.mix @@ -1 +1 @@ -light_min100light_max250light_now0lightset0WHILETRUElight_nowMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightset{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKbGlnaHRfbWluID0gMTAwCmxpZ2h0X21heCA9IDI1MApsaWdodF9ub3cgPSAwCmxpZ2h0c2V0ID0gMAp3aGlsZSBUcnVlOgogICAgbGlnaHRfbm93ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBwcmludChsaWdodF9ub3cpCiAgICBpZiBsaWdodF9ub3cgPiBsaWdodF9tYXg6CiAgICAgICAgbGlnaHRzZXQgLT0gMQogICAgZWxpZiBsaWdodF9ub3cgPCBsaWdodF9taW46CiAgICAgICAgbGlnaHRzZXQgKz0gMQogICAgZWxzZToKICAgICAgICBwYXNzCiAgICBvbmJvYXJkX3JnYi5maWxsKChsaWdodHNldCwgbGlnaHRzZXQsIGxpZ2h0c2V0KSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +light_min100light_max250light_now0lightset0WHILETRUElight_nowMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightset{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2FscwppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfcmdiCgoKbGlnaHRfbWluID0gMTAwCmxpZ2h0X21heCA9IDI1MApsaWdodF9ub3cgPSAwCmxpZ2h0c2V0ID0gMAp3aGlsZSBUcnVlOgogICAgbGlnaHRfbm93ID0gb25ib2FyZF9hbHMuYWxzX3ZpcygpCiAgICBwcmludChsaWdodF9ub3cpCiAgICBpZiBsaWdodF9ub3cgPiBsaWdodF9tYXg6CiAgICAgICAgbGlnaHRzZXQgLT0gMQogICAgZWxpZiBsaWdodF9ub3cgPCBsaWdodF9taW46CiAgICAgICAgbGlnaHRzZXQgKz0gMQogICAgZWxzZToKICAgICAgICBwYXNzCiAgICBvbmJvYXJkX3JnYi5maWxsKChsaWdodHNldCwgbGlnaHRzZXQsIGxpZ2h0c2V0KSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix index 1f36d7ae..2969e7ac 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/20-3 综合控制.mix @@ -1 +1 @@ -clienttopicmsglight_min100light_max250light_now0lightset0fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demolight_minlight_minmethodlight_maxlight_maxmethodWHILETRUElight_nowlMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightsetlight_minmethodlight_minlight_minintmsgMixlylight_minlight_maxmethodlight_maxlight_maxintmsgMixlylight_max{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiBsaWdodF9taW5tZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBsaWdodF9taW4KICAgIGxpZ2h0X21pbiA9IGludChtc2cpCiAgICBwcmludChsaWdodF9taW4pCgpkZWYgbGlnaHRfbWF4bWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbGlnaHRfbWF4CiAgICBsaWdodF9tYXggPSBpbnQobXNnKQogICAgcHJpbnQobGlnaHRfbWF4KQoKCgpsaWdodF9taW4gPSAxMDAKbGlnaHRfbWF4ID0gMjUwCmxpZ2h0X25vdyA9IDAKbGlnaHRzZXQgPSAwCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnbGlnaHRfbWluJyxsaWdodF9taW5tZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdsaWdodF9taW4nKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2xpZ2h0X21heCcsbGlnaHRfbWF4bWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnbGlnaHRfbWF4JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBsaWdodF9ub3cgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgcHJpbnQobGlnaHRfbm93KQogICAgaWYgbGlnaHRfbm93ID4gbGlnaHRfbWF4OgogICAgICAgIGxpZ2h0c2V0IC09IDEKICAgIGVsaWYgbGlnaHRfbm93IDwgbGlnaHRfbWluOgogICAgICAgIGxpZ2h0c2V0ICs9IDEKICAgIG9uYm9hcmRfcmdiLmZpbGwoKGxpZ2h0c2V0LCBsaWdodHNldCwgbGlnaHRzZXQpKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file +clienttopicmsglight_min100light_max250light_now0lightset0fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demolight_minlight_minmethodlight_maxlight_maxmethodWHILETRUElight_nowlMixlylight_nowGTlight_nowlight_maxMINUSlightset1LTlight_nowlight_minADDlightset10lightset0lightset0lightsetlight_minmethodlight_minlight_minintmsgMixlylight_minlight_maxmethodlight_maxlight_maxintmsgMixlylight_max{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiBsaWdodF9taW5tZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCBsaWdodF9taW4KICAgIGxpZ2h0X21pbiA9IGludChtc2cpCiAgICBwcmludChsaWdodF9taW4pCgpkZWYgbGlnaHRfbWF4bWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbGlnaHRfbWF4CiAgICBsaWdodF9tYXggPSBpbnQobXNnKQogICAgcHJpbnQobGlnaHRfbWF4KQoKCgpsaWdodF9taW4gPSAxMDAKbGlnaHRfbWF4ID0gMjUwCmxpZ2h0X25vdyA9IDAKbGlnaHRzZXQgPSAwCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnbGlnaHRfbWluJyxsaWdodF9taW5tZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdsaWdodF9taW4nKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2xpZ2h0X21heCcsbGlnaHRfbWF4bWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnbGlnaHRfbWF4JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBsaWdodF9ub3cgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgcHJpbnQobGlnaHRfbm93KQogICAgaWYgbGlnaHRfbm93ID4gbGlnaHRfbWF4OgogICAgICAgIGxpZ2h0c2V0IC09IDEKICAgIGVsaWYgbGlnaHRfbm93IDwgbGlnaHRfbWluOgogICAgICAgIGxpZ2h0c2V0ICs9IDEKICAgIG9uYm9hcmRfcmdiLmZpbGwoKGxpZ2h0c2V0LCBsaWdodHNldCwgbGlnaHRzZXQpKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix index b2f4ffe2..b165e8c4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-2 文物保护.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim10000tim_callbackWHILETRUEGTl100安全警示有人入侵s1tim_callback文物环境msg"温度""光照""湿度"temperaturelhumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90aHMKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmlofniannjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5rip5bqmIjpvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5YWJ54WnIjpvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua5v+W6piI6b25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflronlhajorabnpLonLCAn5pyJ5Lq65YWl5L61JykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim10000tim_callbackWHILETRUEGTl100安全警示有人入侵s1tim_callback文物环境msg"温度""光照""湿度"temperaturelhumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90aHMKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmlofniannjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5rip5bqmIjpvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5YWJ54WnIjpvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua5v+W6piI6b25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflronlhajorabnpLonLCAn5pyJ5Lq65YWl5L61JykKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix index ff068f8d..b81c6684 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/21-3 危险提示.mix @@ -1 +1 @@ -clienttopicmsgtimfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim10000tim_callback呼叫methodWHILETRUEGTl100危险有人入侵s1methodEQmsg1spk_midi.DADADADUMtim_callback文物环境msg"温度""光照""湿度"temperaturelhumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RocwoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmlofniannjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5rip5bqmIjpvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5YWJ54WnIjpvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua5v+W6piI6b25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflkbzlj6snLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WRvOWPqycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMTAwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WNsemZqScsICfmnInkurrlhaXkvrUnKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +clienttopicmsgtimfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim10000tim_callback呼叫methodWHILETRUEGTl100危险有人入侵s1methodEQmsg1spk_midi.DADADADUMtim_callback文物环境msg"温度""光照""湿度"temperaturelhumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RocwoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmlofniannjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5rip5bqmIjpvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5YWJ54WnIjpvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua5v+W6piI6b25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflkbzlj6snLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WRvOWPqycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMTAwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WNsemZqScsICfmnInkurrlhaXkvrUnKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix index f461d265..c42852db 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-2 身高记录仪系统测量端.mix @@ -1 +1 @@ -timtim_callback设备状态在线fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo学号0身高0timPERIODICtim60000tim_callbackWHILETRUEIDNEQxIDNone学号ID659100FalseMixly学号:Mixlyx学号01610255,255,0#ffffffTRUEs0.5学号身高12身高int150190FalseMixly身高:Mixlyx身高04810255,255,0#ffffffTRUEs0.5B1key学生信息在线"学号""身高""性别"学号身高学号0B2key学生信息在线"学号""身高""性别"学号身高学号0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmZpZApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgbWl4cHkKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iuvuWkh+eKtuaAgScsICflnKjnur8nKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCuWtpuWPtyA9IDAK6Lqr6auYID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIElEID0gb25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBzdHIoSUQpICE9ICdOb25lJzoKICAgICAgICDlrablj7cgPSBJRAogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WtpuWPt++8micgKyBzdHIo5a2m5Y+3KSwgeD0wLCB5PTE2LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgIGlmIOWtpuWPtzoKICAgICAgICDouqvpq5ggPSByYW5kb20ucmFuZGludCgxNTAsIDE5MCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Lqr6auY77yaJyArIHN0cijouqvpq5gpLCB4PTAsIHk9NDgsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOiDlrablj7csICLouqvpq5giOiDouqvpq5gsICLmgKfliKsiOiAn55S3J30pKQogICAgICAgIOWtpuWPtyA9IDAKICAgIGlmIG1peGdvX25vdmEuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflrabnlJ/kv6Hmga8nLCBtaXhweS5mb3JtYXRfc3RyKHsi5a2m5Y+3Ijog5a2m5Y+3LCAi6Lqr6auYIjog6Lqr6auYLCAi5oCn5YirIjogJ+Wlsyd9KSkKICAgICAgICDlrablj7cgPSAwCg== \ No newline at end of file +timtim_callback设备状态在线fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo学号0身高0timPERIODICtim60000tim_callbackWHILETRUEIDNEQxIDNone学号ID659100FalseMixly学号:Mixlyx学号01610255,255,0#ffffffTRUEs0.5学号身高12身高int150190FalseMixly身高:Mixlyx身高04810255,255,0#ffffffTRUEs0.5B1key学生信息在线"学号""身高""性别"学号身高学号0B2key学生信息在线"学号""身高""性别"学号身高学号0{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmZpZApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgbWl4cHkKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+iuvuWkh+eKtuaAgScsICflnKjnur8nKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCuWtpuWPtyA9IDAK6Lqr6auYID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIElEID0gb25ib2FyZF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBzdHIoSUQpICE9ICdOb25lJzoKICAgICAgICDlrablj7cgPSBJRAogICAgICAgIHNwa19taWRpLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WtpuWPt++8micgKyBzdHIo5a2m5Y+3KSwgeD0wLCB5PTE2LCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgIGlmIOWtpuWPtzoKICAgICAgICDouqvpq5ggPSByYW5kb20ucmFuZGludCgxNTAsIDE5MCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Lqr6auY77yaJyArIHN0cijouqvpq5gpLCB4PTAsIHk9NDgsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOiDlrablj7csICLouqvpq5giOiDouqvpq5gsICLmgKfliKsiOiAn55S3J30pKQogICAgICAgIOWtpuWPtyA9IDAKICAgIGlmIG1peGdvX25vdmEuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflrabnlJ/kv6Hmga8nLCBtaXhweS5mb3JtYXRfc3RyKHsi5a2m5Y+3Ijog5a2m5Y+3LCAi6Lqr6auYIjog6Lqr6auYLCAi5oCn5YirIjogJ+Wlsyd9KSkKICAgICAgICDlrablj7cgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix index 6d0d22dd..8bbea837 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/22-21 手速记录仪系统测量端.mix @@ -1 +1 @@ -timfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo学号0手速0按下时刻0抬起时刻0timPERIODICtim60000tim_callbackWHILETRUEIDNEQxIDNone学号ID659100FalseMixly学号:Mixlyx学号01610255,255,0#ffffffTRUEs0.5学号trueA1key按下时刻mstrueA1key抬起时刻ms手速intMINUS1抬起时刻1按下时刻FalseMixly手速:Mixlyx手速04810255,255,0#ffffffTRUEB1key学生信息在线"学号""手速""性别"学号手速学号0TRUEB2key学生信息在线"学号""手速""性别"学号手速学号0TRUEtim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmZpZApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IG1peHB5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforr7lpIfnirbmgIEnLCAn5Zyo57q/JykKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCuWtpuWPtyA9IDAK5omL6YCfID0gMArmjInkuIvml7bliLsgPSAwCuaKrOi1t+aXtuWIuyA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA2MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBJRCA9IG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKElEKSAhPSAnTm9uZSc6CiAgICAgICAg5a2m5Y+3ID0gSUQKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflrablj7fvvJonICsgc3RyKOWtpuWPtyksIHg9MCwgeT0xNiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBpZiDlrablj7c6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOaKrOi1t+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIOaJi+mAnyA9IGludCgo5oqs6LW35pe25Yi7IC0g5oyJ5LiL5pe25Yi7KSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5omL6YCf77yaJyArIHN0cijmiYvpgJ8pLCB4PTAsIHk9NDgsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a2m55Sf5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7IuWtpuWPtyI6IOWtpuWPtywgIuaJi+mAnyI6IOaJi+mAnywgIuaAp+WIqyI6ICfnlLcnfSkpCiAgICAgICAgICAgIOWtpuWPtyA9IDAKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOiDlrablj7csICLmiYvpgJ8iOiDmiYvpgJ8sICLmgKfliKsiOiAn5aWzJ30pKQogICAgICAgICAgICDlrablj7cgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file +timfuhua31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo学号0手速0按下时刻0抬起时刻0timPERIODICtim60000tim_callbackWHILETRUEIDNEQxIDNone学号ID659100FalseMixly学号:Mixlyx学号01610255,255,0#ffffffTRUEs0.5学号trueA1key按下时刻mstrueA1key抬起时刻ms手速intMINUS1抬起时刻1按下时刻FalseMixly手速:Mixlyx手速04810255,255,0#ffffffTRUEB1key学生信息在线"学号""手速""性别"学号手速学号0TRUEB2key学生信息在线"学号""手速""性别"学号手速学号0TRUEtim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmZpZApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNwa19taWRpCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IG1peHB5CgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforr7lpIfnirbmgIEnLCAn5Zyo57q/JykKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCuWtpuWPtyA9IDAK5omL6YCfID0gMArmjInkuIvml7bliLsgPSAwCuaKrOi1t+aXtuWIuyA9IDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA2MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBJRCA9IG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKElEKSAhPSAnTm9uZSc6CiAgICAgICAg5a2m5Y+3ID0gSUQKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflrablj7fvvJonICsgc3RyKOWtpuWPtyksIHg9MCwgeT0xNiwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICBpZiDlrablj7c6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOaKrOi1t+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIOaJi+mAnyA9IGludCgo5oqs6LW35pe25Yi7IC0g5oyJ5LiL5pe25Yi7KSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5omL6YCf77yaJyArIHN0cijmiYvpgJ8pLCB4PTAsIHk9NDgsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5a2m55Sf5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7IuWtpuWPtyI6IOWtpuWPtywgIuaJi+mAnyI6IOaJi+mAnywgIuaAp+WIqyI6ICfnlLcnfSkpCiAgICAgICAgICAgIOWtpuWPtyA9IDAKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WtpueUn+S/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLlrablj7ciOiDlrablj7csICLmiYvpgJ8iOiDmiYvpgJ8sICLmgKfliKsiOiAn5aWzJ30pKQogICAgICAgICAgICDlrablj7cgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix index f24fd332..018b0d0f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/23-2 智能药盒.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comtimPERIODICtim60000tim_callbackWHILETRUETrueMixly0TRUEs1GTl50吃药时间在线{}-{}-{} {}:{}:{}mytupx0mytupx1mytupx2mytupx3mytupx4mytupx5trueLTl10tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K6+5aSH54q25oCBJywgJ+WcqOe6vycpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHAuYWxpeXVuLmNvbScpKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDUwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WQg+iNr+aXtumXtCcsICd7fS17fS17fSB7fTp7fTp7fScuZm9ybWF0KHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzBdLCB0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVsxXSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbMl0sIHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzNdLCB0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVs0XSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbNV0pKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCg== \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comtimPERIODICtim60000tim_callbackWHILETRUETrueMixly0TRUEs1GTl50吃药时间在线{}-{}-{} {}:{}:{}mytupx0mytupx1mytupx2mytupx3mytupx4mytupx5trueLTl10tim_callback设备状态在线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K6+5aSH54q25oCBJywgJ+WcqOe6vycpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHAuYWxpeXVuLmNvbScpKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDUwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WQg+iNr+aXtumXtCcsICd7fS17fS17fSB7fTp7fTp7fScuZm9ybWF0KHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzBdLCB0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVsxXSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbMl0sIHR1cGxlKHRpbWUubG9jYWx0aW1lKCkpWzNdLCB0dXBsZSh0aW1lLmxvY2FsdGltZSgpKVs0XSwgdHVwbGUodGltZS5sb2NhbHRpbWUoKSlbNV0pKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix index a02e8e65..3866ccf6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/24-2 水果计数.mix @@ -1 +1 @@ -timmixly_z31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo水果计数0设备运行FALSEtimPERIODICtim10000tim_callbackWHILETRUEB1key设备运行TRUE水果计数0TrueMixly水果计数0TRUE设备运行GTr500trueLTr100ADD水果计数1水果计数有人入侵水果计数TrueMixly水果计数0TRUEtim_callbackss离线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgcyA9IG1xdHRfY2xpZW50LnBpbmdTeW5jKCkKICAgIGlmIG5vdCBzOgogICAgICAgIHByaW50KCfnprvnur8nKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywgJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQrmsLTmnpzorqHmlbAgPSAwCuiuvuWkh+i/kOihjCA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOiuvuWkh+i/kOihjCA9IFRydWUKICAgICAgICDmsLTmnpzorqHmlbAgPSAwCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5rC05p6c6K6h5pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiDorr7lpIfov5DooYw6CiAgICAgICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gNTAwOgogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEwMCk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAg5rC05p6c6K6h5pWwICs9IDEKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5rC05p6c6K6h5pWwJywg5rC05p6c6K6h5pWwKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjmsLTmnpzorqHmlbAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +timmixly_z31234567890mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo水果计数0设备运行FALSEtimPERIODICtim10000tim_callbackWHILETRUEB1key设备运行TRUE水果计数0TrueMixly水果计数0TRUE设备运行GTr500trueLTr100ADD水果计数1水果计数有人入侵水果计数TrueMixly水果计数0TRUEtim_callbackss离线{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfcgoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgcyA9IG1xdHRfY2xpZW50LnBpbmdTeW5jKCkKICAgIGlmIG5vdCBzOgogICAgICAgIHByaW50KCfnprvnur8nKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ21peGx5X3ozJywgJzEyMzQ1Njc4OTAnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQrmsLTmnpzorqHmlbAgPSAwCuiuvuWkh+i/kOihjCA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOiuvuWkh+i/kOihjCA9IFRydWUKICAgICAgICDmsLTmnpzorqHmlbAgPSAwCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5rC05p6c6K6h5pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiDorr7lpIfov5DooYw6CiAgICAgICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gNTAwOgogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEwMCk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAg5rC05p6c6K6h5pWwICs9IDEKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5rC05p6c6K6h5pWwJywg5rC05p6c6K6h5pWwKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjmsLTmnpzorqHmlbAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix index af103147..bcf41aa8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/25-2 红外反射探究.mix @@ -1 +1 @@ -WHILETRUEMixlyls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzX2wucHNfbmwoKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlyls1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfYWxzX2wucHNfbmwoKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix index e20e94b9..42517272 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/26-1 获取系统ID.mix @@ -1 +1 @@ -Mixly{}aW1wb3J0IG1hY2hpbmUKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKCgpwcmludChoZXhsaWZ5KG1hY2hpbmUudW5pcXVlX2lkKCkpLmRlY29kZSgpKQo= \ No newline at end of file +Mixly{}aW1wb3J0IG1hY2hpbmUKZnJvbSB1YmluYXNjaWkgaW1wb3J0IGhleGxpZnkKCgpwcmludChoZXhsaWZ5KG1hY2hpbmUudW5pcXVlX2lkKCkpLmRlY29kZSgpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix index 5e8b0b56..69dc0e62 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-1 显示声音强度.mix @@ -1 +1 @@ -WHILETRUEs0.1TrueMixlyxintx0TRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgwLjEpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaW50KHNvdW5kX2xldmVsKCkpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEs0.1TrueMixlyxintx0TRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgwLjEpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaW50KHNvdW5kX2xldmVsKCkpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix index cd5a54a9..b25937dc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-2 显示声音波形.mix @@ -1 +1 @@ -WHILETRUETRUE0,1,2,301601x0x12750x50MINUS1271intx500300000127255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNvdW5kX2xldmVsCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIGZvciB4IGluIHJhbmdlKDAsIDE2MCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQubGluZSh4LCAxMjcsIHgsICgxMjcgLSBpbnQoKG1hdGhfbWFwKHNvdW5kX2xldmVsKCksIDAsIDMwMDAwLCAwLCAxMjcpKSkpLCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUETRUE0,1,2,301601x0x12750x50MINUS1271intx500300000127255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNvdW5kX2xldmVsCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIGZvciB4IGluIHJhbmdlKDAsIDE2MCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQubGluZSh4LCAxMjcsIHgsICgxMjcgLSBpbnQoKG1hdGhfbWFwKHNvdW5kX2xldmVsKCksIDAsIDMwMDAwLCAwLCAxMjcpKSkpLCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix index e5c6fd21..2f1ffe66 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-3 显示声音大小.mix @@ -1 +1 @@ -WHILETRUEs0.01MixlyxintxTrueMixlyxintx0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgwLjAxKQogICAgcHJpbnQoc3RyKGludChzb3VuZF9sZXZlbCgpKSkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaW50KHNvdW5kX2xldmVsKCkpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEs0.01MixlyxintxTrueMixlyxintx0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgwLjAxKQogICAgcHJpbnQoc3RyKGludChzb3VuZF9sZXZlbCgpKSkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaW50KHNvdW5kX2xldmVsKCkpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix index 7f94b411..495ad6d8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/3-4 显示光照大小.mix @@ -1 +1 @@ -WHILETRUEs0.01MixlyxintxlTrueMixlyxintxl0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDAuMDEpCiAgICBwcmludChzdHIoaW50KG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKSkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaW50KG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEs0.01MixlyxintxlTrueMixlyxintxl0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDAuMDEpCiAgICBwcmludChzdHIoaW50KG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKSkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaW50KG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix index b9d94c6e..fe9956eb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-1 安全门锁发送.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demouseruser1passwdpsd123timONE_SHOTtim60000tim_callbackWHILETRUEB1keyDoormsg"lock""user""passwd"openuser1psd123B2keyDoormsg"lock""user""passwd"openuser12psd123tim_callbackerror{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgbWl4cHkKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiBub3QgbXF0dF9jbGllbnQucGluZ1N5bmMoKToKICAgICAgICBwcmludCgnZXJyb3InKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp1c2VyID0gJ3VzZXIxJwpwYXNzd2QgPSAncHNkMTIzJwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuT05FX1NIT1QsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdEb29yJywgbWl4cHkuZm9ybWF0X3N0cih7ImxvY2siOidvcGVuJywgInVzZXIiOid1c2VyMScsICJwYXNzd2QiOidwc2QxMjMnfSkpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnRG9vcicsIG1peHB5LmZvcm1hdF9zdHIoeyJsb2NrIjonb3BlbicsICJ1c2VyIjondXNlcjEyJywgInBhc3N3ZCI6J3BzZDEyMyd9KSkK \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demouseruser1passwdpsd123timONE_SHOTtim60000tim_callbackWHILETRUEB1keyDoormsg"lock""user""passwd"openuser1psd123B2keyDoormsg"lock""user""passwd"openuser12psd123tim_callbackerror{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgbWl4cHkKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiBub3QgbXF0dF9jbGllbnQucGluZ1N5bmMoKToKICAgICAgICBwcmludCgnZXJyb3InKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp1c2VyID0gJ3VzZXIxJwpwYXNzd2QgPSAncHNkMTIzJwp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDYwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuT05FX1NIT1QsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICdEb29yJywgbWl4cHkuZm9ybWF0X3N0cih7ImxvY2siOidvcGVuJywgInVzZXIiOid1c2VyMScsICJwYXNzd2QiOidwc2QxMjMnfSkpCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAnRG9vcicsIG1peHB5LmZvcm1hdF9zdHIoeyJsb2NrIjonb3BlbicsICJ1c2VyIjondXNlcjEyJywgInBhc3N3ZCI6J3BzZDEyMyd9KSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix index 9eb3f49a..be4d730e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/30-2-2 安全门锁接收.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demouseruser1passwdpsd123DoormethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgANDEQmydictuseruser1EQmydictpasswdpsd123Mixlymydictlockexpression_picture.HeartTRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIZWFydAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBpZiBteWRpY3RbJ3VzZXInXSA9PSAndXNlcjEnIGFuZCBteWRpY3RbJ3Bhc3N3ZCddID09ICdwc2QxMjMnOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbChteWRpY3RbJ2xvY2snXSwgY29sb3I9MHhmZmZmKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp1c2VyID0gJ3VzZXIxJwpwYXNzd2QgPSAncHNkMTIzJwptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0Rvb3InLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0Rvb3InKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demouseruser1passwdpsd123DoormethodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgANDEQmydictuseruser1EQmydictpasswdpsd123Mixlymydictlockexpression_picture.HeartTRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIZWFydAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgbXlkaWN0ID0ganNvbi5sb2Fkcyhtc2cpCiAgICBpZiBteWRpY3RbJ3VzZXInXSA9PSAndXNlcjEnIGFuZCBteWRpY3RbJ3Bhc3N3ZCddID09ICdwc2QxMjMnOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbChteWRpY3RbJ2xvY2snXSwgY29sb3I9MHhmZmZmKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp1c2VyID0gJ3VzZXIxJwpwYXNzd2QgPSAncHNkMTIzJwptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ0Rvb3InLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ0Rvb3InKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix index 55919cdc..51826dbd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-1 楼道灯演示.mix @@ -1 +1 @@ -WHILETRUElANDGT3000LTl2011s110{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChzb3VuZF9sZXZlbCgpLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkKICAgIGlmIHNvdW5kX2xldmVsKCkgPiAzMDAwIGFuZCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA8IDIwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUElANDGT3000LTl2011s110{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChzb3VuZF9sZXZlbCgpLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkKICAgIGlmIHNvdW5kX2xldmVsKCkgPiAzMDAwIGFuZCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA8IDIwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix index e5951350..a1b5c255 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/4-3-2 教室光照监测.mix @@ -1 +1 @@ -fuhua312345678TrueWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoTrueMO0TRUEWHILETRUEs5光照msgl{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKb25ib2FyZF90ZnQuc2hvd3MoJ1dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX3RmdC5zaG93cygnTU8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkK \ No newline at end of file +fuhua312345678TrueWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoTrueMO0TRUEWHILETRUEs5光照msgl{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKb25ib2FyZF90ZnQuc2hvd3MoJ1dPJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQpvbmJvYXJkX3RmdC5zaG93cygnTU8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix index 976b9349..bdfb2f1b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-2 远程开关灯.mix @@ -1 +1 @@ -clienttopicmsgfuhua31234567890FalseWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0TRUE开灯methodWHILETRUEmethodEQmsg111EQmsg010{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX3RmdC5zaG93cygnV08nLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2Usc3luYz1UcnVlKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcv6YCa55So5ryU56S6LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfdGZ0LnNob3dzKCdNTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgfuhua31234567890FalseWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055通用演示FalseMO0TRUE开灯methodWHILETRUEmethodEQmsg111EQmsg010{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4OTAnKQpvbmJvYXJkX3RmdC5zaG93cygnV08nLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2Usc3luYz1UcnVlKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcv6YCa55So5ryU56S6LycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfdGZ0LnNob3dzKCdNTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix index ace8bfb4..20d39352 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/5-3 远程监测物联花卉.mix @@ -1 +1 @@ -clienttopicmsgtimfuhua312345678FalseWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoFalseMO0TRUEtimPERIODICtim5000tim_callback开灯methodWHILETRUEmethodEQmsg11121EQmsg01020tim_callback环境msg"温度""光照""触摸"temperaturel{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90aHMKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtaXhnb19ub3ZhCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5rip5bqmIjogb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgIuWFieeFpyI6IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpLCAi6Kem5pG4IjogbWl4Z29fbm92YS50b3VjaF9zbGlkZSgzLCA0KX0pKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCdXTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfdGZ0LnNob3dzKCdNTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgtimfuhua312345678FalseWO0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoFalseMO0TRUEtimPERIODICtim5000tim_callback开灯methodWHILETRUEmethodEQmsg11121EQmsg01020tim_callback环境msg"温度""光照""触摸"temperaturel{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90aHMKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtaXhnb19ub3ZhCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5rip5bqmIjogb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgIuWFieeFpyI6IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpLCAi6Kem5pG4IjogbWl4Z29fbm92YS50b3VjaF9zbGlkZSgzLCA0KX0pKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCdXTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9uYm9hcmRfdGZ0LnNob3dzKCdNTycsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix index 4e71186f..7663b553 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/8-蓝牙翻页笔.mix @@ -1 +1 @@ -mixlyWHILETRUEB1keyTrue0x000x4EB2keyTrue0x000x4B{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZAppbXBvcnQgbWl4Z29fbm92YQoKCmJsZV9rZXlib2FyZD1LZXlib2FyZCgnbWl4bHknKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2tleWJvYXJkLmlzX2Nvbm5lY3RlZCgpOgogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwMCwgMHg0RSwgVHJ1ZSkKICAgICAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV9rZXlib2FyZC5ub3RpZnlfaGlkKDB4MDAsIDB4NEIsIFRydWUpCg== \ No newline at end of file +mixlyWHILETRUEB1keyTrue0x000x4EB2keyTrue0x000x4B{}ZnJvbSBibGVfaGlkX2tleWJvYXJkIGltcG9ydCBLZXlib2FyZAppbXBvcnQgbWl4Z29fbm92YQoKCmJsZV9rZXlib2FyZD1LZXlib2FyZCgnbWl4bHknKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX2tleWJvYXJkLmlzX2Nvbm5lY3RlZCgpOgogICAgICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX2tleWJvYXJkLm5vdGlmeV9oaWQoMHgwMCwgMHg0RSwgVHJ1ZSkKICAgICAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV9rZXlib2FyZC5ub3RpZnlfaGlkKDB4MDAsIDB4NEIsIFRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix index 74379241..70edaa05 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-1-2 利用HTTP获取互联网中的数据.mix @@ -1 +1 @@ -fuhua31234567890responsegethttps://mixio.mixly.cn/api/v1/getData?user=@4DDJ53C9&password=MixIO_public&project=default&topic=%E5%85%89%E7%85%A7&num=10stextresponseMixlys{}aW1wb3J0IG1peGlvdAppbXBvcnQgdXJlcXVlc3RzCmltcG9ydCBtYWNoaW5lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnJlc3BvbnNlID0gdXJlcXVlc3RzLmdldCgnaHR0cHM6Ly9taXhpby5taXhseS5jbi9hcGkvdjEvZ2V0RGF0YT91c2VyPUA0RERKNTNDOSZwYXNzd29yZD1NaXhJT19wdWJsaWMmcHJvamVjdD1kZWZhdWx0JnRvcGljPSVFNSU4NSU4OSVFNyU4NSVBNyZudW09MTAnKQpzID0gcmVzcG9uc2UudGV4dApwcmludChzKQo= \ No newline at end of file +fuhua31234567890responsegethttps://mixio.mixly.cn/api/v1/getData?user=@4DDJ53C9&password=MixIO_public&project=default&topic=%E5%85%89%E7%85%A7&num=10stextresponseMixlys{}aW1wb3J0IG1peGlvdAppbXBvcnQgdXJlcXVlc3RzCmltcG9ydCBtYWNoaW5lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywnMTIzNDU2Nzg5MCcpCnJlc3BvbnNlID0gdXJlcXVlc3RzLmdldCgnaHR0cHM6Ly9taXhpby5taXhseS5jbi9hcGkvdjEvZ2V0RGF0YT91c2VyPUA0RERKNTNDOSZwYXNzd29yZD1NaXhJT19wdWJsaWMmcHJvamVjdD1kZWZhdWx0JnRvcGljPSVFNSU4NSU4OSVFNyU4NSVBNyZudW09MTAnKQpzID0gcmVzcG9uc2UudGV4dApwcmludChzKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix index 3948b433..a403ad15 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/八年级代码/9-3 探讨互联网协议的局限性演示.mix @@ -1 +1 @@ -fuhua312345678HTTPTruehttps://mixio.mixly.cn/time.phpMixlyclient_lenMixlyserver_lenMixlytextMQTTTruemixio.mixly.cnMixlyclient_lenMixlyserver_lenMixlytime_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgZGVidWduZXQKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpwcmludCgnSFRUUCcpCkhUVFBfY2xpZW50ID0gZGVidWduZXQucmVxdWVzdCgiR0VUIiwgJ2h0dHA6Ly9taXhpby5taXhseS5vcmcvdGltZS5waHAnLCBkZWJ1Zz1UcnVlKQpwcmludChIVFRQX2NsaWVudC5jbGllbnRfbGVuKQpwcmludChIVFRQX2NsaWVudC5zZXJ2ZXJfbGVuKQpwcmludChIVFRQX2NsaWVudC50ZXh0KQpwcmludCgnTVFUVCcpCm1xdHRfY2xpZW50ID0gZGVidWduZXQuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsICJNaXhJTy8zUUJBR0tSTC9kZWZhdWx0LyIsZGVidWc9VHJ1ZSkKbXF0dF9jbGllbnQuc3Vic2NyaWJlKCIkU1lTL2hlbGxvIikKcHJpbnQobXF0dF9jbGllbnQuY2xpZW50X2xlbikKcHJpbnQobXF0dF9jbGllbnQuc2VydmVyX2xlbikKcHJpbnQobXF0dF9jbGllbnQudGltZV9tc2coKSkK/code> \ No newline at end of file +fuhua312345678HTTPTruehttps://mixio.mixly.cn/time.phpMixlyclient_lenMixlyserver_lenMixlytextMQTTTruemixio.mixly.cnMixlyclient_lenMixlyserver_lenMixlytime_msg(){}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgZGVidWduZXQKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpwcmludCgnSFRUUCcpCkhUVFBfY2xpZW50ID0gZGVidWduZXQucmVxdWVzdCgiR0VUIiwgJ2h0dHA6Ly9taXhpby5taXhseS5vcmcvdGltZS5waHAnLCBkZWJ1Zz1UcnVlKQpwcmludChIVFRQX2NsaWVudC5jbGllbnRfbGVuKQpwcmludChIVFRQX2NsaWVudC5zZXJ2ZXJfbGVuKQpwcmludChIVFRQX2NsaWVudC50ZXh0KQpwcmludCgnTVFUVCcpCm1xdHRfY2xpZW50ID0gZGVidWduZXQuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAiTWl4SU9fcHVibGljIiwgIk1peElPX3B1YmxpYyIsICJNaXhJTy8zUUJBR0tSTC9kZWZhdWx0LyIsZGVidWc9VHJ1ZSkKbXF0dF9jbGllbnQuc3Vic2NyaWJlKCIkU1lTL2hlbGxvIikKcHJpbnQobXF0dF9jbGllbnQuY2xpZW50X2xlbikKcHJpbnQobXF0dF9jbGllbnQuc2VydmVyX2xlbikKcHJpbnQobXF0dF9jbGllbnQudGltZV9tc2coKSkK/code> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix index ab8aed27..421f2125 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/10-4 填充体验.mix @@ -1 +1 @@ -WHILETRUETRUE0,1,2,301595x0,1,2,301305yfill_rect20x20y55255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAxNTksIDUpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDEzMCwgNSk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCh4LCB5LCA1LCA1LCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUETRUE0,1,2,301595x0,1,2,301305yfill_rect20x20y55255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAxNTksIDUpOgogICAgICAgIGZvciB5IGluIHJhbmdlKDAsIDEzMCwgNSk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCh4LCB5LCA1LCA1LCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix index b18676f8..dc80ceec 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-3 恒亮灯演示.mix @@ -1 +1 @@ -亮度目标100RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度lLT当前亮度MINUS1亮度目标5ADDaRGB亮度1GT当前亮度ADD1亮度目标5MINUSaRGB亮度1Mixly当前亮度s0.01{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSAxMDAKUkdC5Lqu5bqmID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoUkdC5Lqu5bqmLCBSR0Lkuq7luqYsIFJHQuS6ruW6pikpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlvZPliY3kuq7luqYgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgaWYg5b2T5YmN5Lqu5bqmIDwg5Lqu5bqm55uu5qCHIC0gNToKICAgICAgICBSR0Lkuq7luqYgKz0gMQogICAgZWxpZiDlvZPliY3kuq7luqYgPiDkuq7luqbnm67moIcgKyA1OgogICAgICAgIFJHQuS6ruW6piAtPSAxCiAgICBlbHNlOgogICAgICAgIHByaW50KOW9k+WJjeS6ruW6pikKICAgIHRpbWUuc2xlZXAoMC4wMSkKOV84RF9FNF9CQV9BRV9FNV9CQV9BNiA+IF9FNF9CQV9BRV9FNV9CQV9BNl9FN185Ql9BRV9FNl9BMF84NyArIDU6CiAgICAgICAgUkdCX0U0X0JBX0FFX0U1X0JBX0E2IC09IDEKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoX0U1X0JEXzkzX0U1Xzg5XzhEX0U0X0JBX0FFX0U1X0JBX0E2KQogICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file +亮度目标100RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度lLT当前亮度MINUS1亮度目标5ADDaRGB亮度1GT当前亮度ADD1亮度目标5MINUSaRGB亮度1Mixly当前亮度s0.01{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSAxMDAKUkdC5Lqu5bqmID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2IuZmlsbCgoUkdC5Lqu5bqmLCBSR0Lkuq7luqYsIFJHQuS6ruW6pikpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICDlvZPliY3kuq7luqYgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgaWYg5b2T5YmN5Lqu5bqmIDwg5Lqu5bqm55uu5qCHIC0gNToKICAgICAgICBSR0Lkuq7luqYgKz0gMQogICAgZWxpZiDlvZPliY3kuq7luqYgPiDkuq7luqbnm67moIcgKyA1OgogICAgICAgIFJHQuS6ruW6piAtPSAxCiAgICBlbHNlOgogICAgICAgIHByaW50KOW9k+WJjeS6ruW6pikKICAgIHRpbWUuc2xlZXAoMC4wMSkKOV84RF9FNF9CQV9BRV9FNV9CQV9BNiA+IF9FNF9CQV9BRV9FNV9CQV9BNl9FN185Ql9BRV9FNl9BMF84NyArIDU6CiAgICAgICAgUkdCX0U0X0JBX0FFX0U1X0JBX0E2IC09IDEKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoX0U1X0JEXzkzX0U1Xzg5XzhEX0U0X0JBX0FFX0U1X0JBX0E2KQogICAgdGltZS5zbGVlcCgwLjAxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix index 5a7a05c2..6a7ce8ab 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/11-4 模拟小车避障演示.mix @@ -1 +1 @@ -x飞机X0障碍X120WHILETRUEfill_rect20障碍X602020255,255,0#ff0000TRUEB1key0,1,2,32飞机X1301xx0ADD1x3060BREAK移动飞机fill_rect60MINUS19x1602020255,255,0#000000TRUEfill_rect60ADD191x651010255,255,0#000000TRUEfill_rect60x602020255,255,0#ffffffTRUEfill_rect60ADD201x651010255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQoKZGVmIOenu+WKqOmjnuacuih4KToKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoeCAtIDEpLCA2MCwgMjAsIDIwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgxOSArIHgpLCA2NSwgMTAsIDEwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KHgsIDYwLCAyMCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKDIwICsgeCksIDY1LCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgoK6aOe5py6WCA9IDAK6Zqc56KNWCA9IDEyMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KOmanOeijVgsIDYwLCAyMCwgMjAsIDB4ZjgwMCxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgZm9yIHggaW4gcmFuZ2Uo6aOe5py6WCwgMTMwLCAxKToKICAgICAgICAgICAg56e75Yqo6aOe5py6KHgpCiAgICAgICAgICAgIGlmIG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCArIDMwKSksIGludCg2MCkpOgogICAgICAgICAgICAgICAgYnJlYWsK \ No newline at end of file +x飞机X0障碍X120WHILETRUEfill_rect20障碍X602020255,255,0#ff0000TRUEB1key0,1,2,32飞机X1301xx0ADD1x3060BREAK移动飞机fill_rect60MINUS19x1602020255,255,0#000000TRUEfill_rect60ADD191x651010255,255,0#000000TRUEfill_rect60x602020255,255,0#ffffffTRUEfill_rect60ADD201x651010255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQoKZGVmIOenu+WKqOmjnuacuih4KToKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoeCAtIDEpLCA2MCwgMjAsIDIwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgxOSArIHgpLCA2NSwgMTAsIDEwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KHgsIDYwLCAyMCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKDIwICsgeCksIDY1LCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgoK6aOe5py6WCA9IDAK6Zqc56KNWCA9IDEyMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KOmanOeijVgsIDYwLCAyMCwgMjAsIDB4ZjgwMCxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgZm9yIHggaW4gcmFuZ2Uo6aOe5py6WCwgMTMwLCAxKToKICAgICAgICAgICAg56e75Yqo6aOe5py6KHgpCiAgICAgICAgICAgIGlmIG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCArIDMwKSksIGludCg2MCkpOgogICAgICAgICAgICAgICAgYnJlYWsK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix index 59a3535d..1913bda7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-1 音乐播放体验.mix @@ -1 +1 @@ -WHILETRUEB1keyexpression_picture.HeartTRUEspk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBzcGtfbWlkaS5wbGF5KHNwa19taWRpLkRBREFEQURVTSkK \ No newline at end of file +WHILETRUEB1keyexpression_picture.HeartTRUEspk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBzcGtfbWlkaS5wbGF5KHNwa19taWRpLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix index 3a1358af..d26c0318 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-3-2 RFID模块体验.mix @@ -1 +1 @@ -WHILETRUETrue698100Mixlys1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1pbmlfZzIKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY5OCwgMTAwKQogICAgICAgIHByaW50KG1pbmlfZzIuZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUETrue698100Mixlys1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1pbmlfZzIKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY5OCwgMTAwKQogICAgICAgIHByaW50KG1pbmlfZzIuZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix index 6f89773c..318acc1c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/13-4-2 RFID模块体验.mix @@ -1 +1 @@ -WHILETRUETrueMixly698100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWluaV9nMgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgcHJpbnQoZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY5OCwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUETrueMixly698100s1{}ZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWluaV9nMgpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCk9PVRydWU6CiAgICAgICAgcHJpbnQoZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY5OCwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/15-2 温湿度模块体验(需要改对应PPT).mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/15-2 温湿度模块体验(需要改对应PPT).mix index 61455bfe..307e8c21 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/15-2 温湿度模块体验(需要改对应PPT).mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/15-2 温湿度模块体验(需要改对应PPT).mix @@ -1 +1 @@ -WHILETRUEB1key119s110s1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDE5KQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEB1key119s110s1{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDE5KQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigxLDApCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix index fe1ec406..64c4b755 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-1 事件产生并感知用户输入.mix @@ -1 +1 @@ -WHILETRUE11trueB1key10s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUE11trueB1key10s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix index cf4b95d6..190362a4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-2 计算反应时间.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msMixlyMINUS1按下时刻1亮灯时刻s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgbWFjaGluZQoKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHByaW50KCjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLspKQogICAgdGltZS5zbGVlcCgxKQo=gPSB0aW1lLnRpY2tzX21zKCkKICAgIHByaW50KChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msMixlyMINUS1按下时刻1亮灯时刻s1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgbWFjaGluZQoKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHByaW50KCjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLspKQogICAgdGltZS5zbGVlcCgxKQo=gPSB0aW1lLnRpY2tzX21zKCkKICAgIHByaW50KChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix index 33c4f97e..27629ef2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-3 显示反应时间.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msTrueMixlyxMINUS1按下时刻1亮灯时刻0TRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuykpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE11亮灯时刻mstrueB1key10按下时刻msTrueMixlyxMINUS1按下时刻1亮灯时刻0TRUEs1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0Cgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuykpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix index f946407e..58e7d161 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/18-4 随机时间反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUEs1float1211亮灯时刻mstrueB1key10按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUEs1float1211亮灯时刻mstrueB1key10按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix index 852da30c..63131d66 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-1 随机时间随机灯反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQo=pCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZihfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQo=pCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZihfRTRfQkFfQUVfRTdfODFfQUZfRTdfQkNfOTZfRTVfOEZfQjcsMSkKICAgIF9FNF9CQV9BRV9FN184MV9BRl9FNl85N19CNl9FNV84OF9CQiA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix index 67edbd3b..0b4ec1b6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-2 等待用户输入.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCg==wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCg==wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix index 0e1b1fd3..763e7c86 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-3 输出用户反应入.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B1keyANDEQ亮灯编号2B2keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEexpression_picture.HeartTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0Cgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B1keyANDEQ亮灯编号2B2keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEexpression_picture.HeartTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0Cgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix index 7d0639ac..3fc668bc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/19-4 换更习惯的按键.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyA1key1020按下时刻msORANDEQ亮灯编号1A1keyANDEQ亮灯编号2B1keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEexpression_picture.HeartTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0Cgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyA1key1020按下时刻msORANDEQ亮灯编号1A1keyANDEQ亮灯编号2B1keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEexpression_picture.HeartTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19ub3ZhCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0Cgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix index bb1382da..1a7b90b8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1 开关灯演示.mix @@ -1 +1 @@ -WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file +WHILETRUEB1key1-1{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix index 716eba23..a3b19805 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-1-2 开关灯演示.mix @@ -1 +1 @@ -WHILETRUEB1key11B2key10{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +WHILETRUEB1key11B2key10{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix index 374b00f4..a1687bce 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2 三色变光灯演示.mix @@ -1 +1 @@ -灯亮度级别0WHILETRUEB1key灯亮度级别QUYU1ADD1灯亮度级别141100MULTIPLY301灯亮度级别{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCueBr+S6ruW6pue6p+WIqyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnga/kuq7luqbnuqfliKsgPSAo54Gv5Lqu5bqm57qn5YirICsgMSkgJSA0CiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsKDMwICog54Gv5Lqu5bqm57qn5YirKSkK \ No newline at end of file +灯亮度级别0WHILETRUEB1key灯亮度级别QUYU1ADD1灯亮度级别141100MULTIPLY301灯亮度级别{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCueBr+S6ruW6pue6p+WIqyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnga/kuq7luqbnuqfliKsgPSAo54Gv5Lqu5bqm57qn5YirICsgMSkgJSA0CiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsKDMwICog54Gv5Lqu5bqm57qn5YirKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix index cc834b09..128d4def 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-2-2 可调灯演示.mix @@ -1 +1 @@ -WHILETRUEMixlyLTLT-1000x6001100intx50-50005000010010{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBwcmludChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpKQogICAgaWYgbm90ICgtMTAwMCA8IG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkgPCA2MDApOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgaW50KChtYXRoX21hcChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpLCAoLTUwMDApLCA1MDAwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMCkKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkKuc2V0YnJpZ2h0bmVzcygxLDApCgpub3QgRmFsc2UKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMyw0KQo= \ No newline at end of file +WHILETRUEMixlyLTLT-1000x6001100intx50-50005000010010{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBwcmludChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpKQogICAgaWYgbm90ICgtMTAwMCA8IG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkgPCA2MDApOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgaW50KChtYXRoX21hcChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpLCAoLTUwMDApLCA1MDAwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMCkKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkKuc2V0YnJpZ2h0bmVzcygxLDApCgpub3QgRmFsc2UKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMyw0KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix index 5f0c7312..5adf27d2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/2-3 交通灯控制演示.mix @@ -1 +1 @@ -R0G0B0WHILETRUEA1keyRMINUS201RA2keyGMINUS201GA3keyBMINUS201BA4keyR0G0B00R0G0B{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoKClIgPSAwCkcgPSAwCkIgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDIwIC0gUgogICAgaWYgbWl4Z29fbm92YS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEcgPSAyMCAtIEcKICAgIGlmIG1peGdvX25vdmEuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBCID0gMjAgLSBCCiAgICBpZiBtaXhnb19ub3ZhLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDAKICAgICAgICBHID0gMAogICAgICAgIEIgPSAwCiAgICBvbmJvYXJkX3JnYi5maWxsKChSLCBHLCBCKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file +R0G0B0WHILETRUEA1keyRMINUS201RA2keyGMINUS201GA3keyBMINUS201BA4keyR0G0B00R0G0B{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JnYgoKClIgPSAwCkcgPSAwCkIgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDIwIC0gUgogICAgaWYgbWl4Z29fbm92YS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEcgPSAyMCAtIEcKICAgIGlmIG1peGdvX25vdmEuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBCID0gMjAgLSBCCiAgICBpZiBtaXhnb19ub3ZhLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgUiA9IDAKICAgICAgICBHID0gMAogICAgICAgIEIgPSAwCiAgICBvbmJvYXJkX3JnYi5maWxsKChSLCBHLCBCKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix index 10da9ca1..49f6785b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20 电梯系统模拟.mix @@ -1 +1 @@ -电梯当前楼层9用户所在楼层5电梯行为-TrueMixly用户所在楼层:Mixlyx用户所在楼层03010255,255,0#ffffffTRUEWHILETRUEORB1keyB2key用户所在楼层int19TrueMixly用户所在楼层:Mixlyx用户所在楼层03010255,255,0#ffffffTRUELT用户所在楼层电梯当前楼层电梯行为vGT用户所在楼层电梯当前楼层电梯行为^电梯行为-s0.2TrueMixly电梯当前楼层:Mixlyx电梯当前楼层05010255,255,0#ffffffTRUETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUEEQ电梯行为vMINUSa电梯当前楼层1EQ电梯行为^ADDa电梯当前楼层1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCgrnlLXmoq/lvZPliY3mpbzlsYIgPSA5CueUqOaIt+aJgOWcqOalvOWxgiA9IDUK55S15qKv6KGM5Li6ID0gJy0nCm9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgOSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35omA5Zyo5qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MzAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJ3YnCiAgICBlbGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICDnlLXmoq/ooYzkuLogPSAnXicKICAgIGVsc2U6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICB0aW1lLnNsZWVwKDAuMikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT01MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgc3RyKOeUteair+ihjOS4uiksIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUteair+ihjOS4uiA9PSAndic6CiAgICAgICAg55S15qKv5b2T5YmN5qW85bGCIC09IDEKICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQo= \ No newline at end of file +电梯当前楼层9用户所在楼层5电梯行为-TrueMixly用户所在楼层:Mixlyx用户所在楼层03010255,255,0#ffffffTRUEWHILETRUEORB1keyB2key用户所在楼层int19TrueMixly用户所在楼层:Mixlyx用户所在楼层03010255,255,0#ffffffTRUELT用户所在楼层电梯当前楼层电梯行为vGT用户所在楼层电梯当前楼层电梯行为^电梯行为-s0.2TrueMixly电梯当前楼层:Mixlyx电梯当前楼层05010255,255,0#ffffffTRUETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUEEQ电梯行为vMINUSa电梯当前楼层1EQ电梯行为^ADDa电梯当前楼层1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCgrnlLXmoq/lvZPliY3mpbzlsYIgPSA5CueUqOaIt+aJgOWcqOalvOWxgiA9IDUK55S15qKv6KGM5Li6ID0gJy0nCm9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgOSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35omA5Zyo5qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MzAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJ3YnCiAgICBlbGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICDnlLXmoq/ooYzkuLogPSAnXicKICAgIGVsc2U6CiAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICB0aW1lLnNsZWVwKDAuMikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT01MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgc3RyKOeUteair+ihjOS4uiksIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUteair+ihjOS4uiA9PSAndic6CiAgICAgICAg55S15qKv5b2T5YmN5qW85bGCIC09IDEKICAgIGVsaWYg55S15qKv6KGM5Li6ID09ICdeJzoKICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix index f70c64b0..b9239b56 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/20-5 烟雾报警模拟.mix @@ -1 +1 @@ -WHILETRUE烟雾浓度GT烟雾浓度1500spk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKCndoaWxlIFRydWU6CiAgICDng5/pm77mtZPluqYgPSBtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpCiAgICBpZiDng5/pm77mtZPluqYgPiAxNTAwOgogICAgICAgIHNwa19taWRpLnBsYXkoc3BrX21pZGkuREFEQURBRFVNKQo=aWMuQkFfRElORykK \ No newline at end of file +WHILETRUE烟雾浓度GT烟雾浓度1500spk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKCndoaWxlIFRydWU6CiAgICDng5/pm77mtZPluqYgPSBtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpCiAgICBpZiDng5/pm77mtZPluqYgPiAxNTAwOgogICAgICAgIHNwa19taWRpLnBsYXkoc3BrX21pZGkuREFEQURBRFVNKQo=aWMuQkFfRElORykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix index 3c2c0a57..00d58218 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/21-2 控制电梯运行到指定楼层.mix @@ -1 +1 @@ -电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSEWHILETRUENEQTrueMixly电梯当前行为:==07010255,255,0#ffffffTRUE用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4TrueMixly用户所在楼层:Mixlyx用户目标楼层03010255,255,0#ffffffTRUE用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixly电梯所在楼层:Mixlyx电梯所在楼层05010255,255,0#ffffffTRUEs1EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1用户认证FALSETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCB0aW1lCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgJz09JywgeD0wLCB5PTcwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+ebruagh+alvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5omA5Zyo5qW85bGC77yaJyArIHN0cijnlLXmoq/miYDlnKjmpbzlsYIpLCB4PTAsIHk9NTAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGlmIOeUteair+ihjOS4uiA9PSAndic6CiAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiAtPSAxCiAgICAgICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgKz0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOeUqOaIt+iupOivgSA9IEZhbHNlCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5b2T5YmN6KGM5Li677yaJyArIHN0cijnlLXmoq/ooYzkuLopLCB4PTAsIHk9NzAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSEWHILETRUENEQTrueMixly电梯当前行为:==07010255,255,0#ffffffTRUE用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4TrueMixly用户所在楼层:Mixlyx用户目标楼层03010255,255,0#ffffffTRUE用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixly电梯所在楼层:Mixlyx电梯所在楼层05010255,255,0#ffffffTRUEs1EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1用户认证FALSETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCB0aW1lCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgJz09JywgeD0wLCB5PTcwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+ebruagh+alvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5omA5Zyo5qW85bGC77yaJyArIHN0cijnlLXmoq/miYDlnKjmpbzlsYIpLCB4PTAsIHk9NTAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGlmIOeUteair+ihjOS4uiA9PSAndic6CiAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiAtPSAxCiAgICAgICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgKz0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOeUqOaIt+iupOivgSA9IEZhbHNlCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5b2T5YmN6KGM5Li677yaJyArIHN0cijnlLXmoq/ooYzkuLopLCB4PTAsIHk9NzAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix index 4a330cf0..d604ab4e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-2 电梯开门.mix @@ -1 +1 @@ -电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSEWHILETRUENEQTrueMixly电梯当前行为:==07010255,255,0#ffffffTRUE用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4TrueMixly用户所在楼层:Mixlyx用户目标楼层03010255,255,0#ffffffTRUE用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixly电梯所在楼层:Mixlyx电梯所在楼层05010255,255,0#ffffffTRUEs1EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_CLOSETRUEs1TRUE用户认证FALSETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgJz09JywgeD0wLCB5PTcwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+ebruagh+alvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5omA5Zyo5qW85bGC77yaJyArIHN0cijnlLXmoq/miYDlnKjmpbzlsYIpLCB4PTAsIHk9NTAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGlmIOeUteair+ihjOS4uiA9PSAndic6CiAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiAtPSAxCiAgICAgICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgKz0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxLjUpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg55So5oi36K6k6K+BID0gRmFsc2UKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgc3RyKOeUteair+ihjOS4uiksIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSEWHILETRUENEQTrueMixly电梯当前行为:==07010255,255,0#ffffffTRUE用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4TrueMixly用户所在楼层:Mixlyx用户目标楼层03010255,255,0#ffffffTRUE用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixly电梯所在楼层:Mixlyx电梯所在楼层05010255,255,0#ffffffTRUEs1EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_CLOSETRUEs1TRUE用户认证FALSETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmltcG9ydCBtaXhnb19ub3ZhCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgJz09JywgeD0wLCB5PTcwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIOeUqOaIt+iupOivgSA9IFRydWUKICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmICgobWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCkpIG9yIChtaXhnb19ub3ZhLkEza2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKSkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBpZiBtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgICAgIGVsaWYgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgICAgICBlbGlmIG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgZWxpZiBtaXhnb19ub3ZhLkE0a2V5LmlzX3ByZXNzZWQoKToKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+ebruagh+alvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+iupOivgToKICAgICAgICBpZiDnlLXmoq/miYDlnKjmpbzlsYIgPCDnlKjmiLfnm67moIfmpbzlsYI6CiAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgIGVsaWYg55S15qKv5omA5Zyo5qW85bGCID4g55So5oi355uu5qCH5qW85bGCOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAndicKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/ooYzkuLogPSAnLScKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5omA5Zyo5qW85bGC77yaJyArIHN0cijnlLXmoq/miYDlnKjmpbzlsYIpLCB4PTAsIHk9NTAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGlmIOeUteair+ihjOS4uiA9PSAndic6CiAgICAgICAgICAgIOeUteair+aJgOWcqOalvOWxgiAtPSAxCiAgICAgICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgKz0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxLjUpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg55So5oi36K6k6K+BID0gRmFsc2UKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgc3RyKOeUteair+ihjOS4uiksIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix index f4aff5e5..2c45884e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/22-3 电梯超载.mix @@ -1 +1 @@ -电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSEWHILETRUELT1500NEQTrueMixly电梯当前行为:==07010255,255,0#ffffffTRUE用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4TrueMixly用户所在楼层:Mixlyx用户目标楼层03010255,255,0#ffffffTRUE用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixly电梯所在楼层:Mixlyx电梯所在楼层05010255,255,0#ffffffTRUEs1EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_CLOSETRUEs1TRUE用户认证FALSETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUETrueMixly电梯当前行为:超载07010255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkgPCAxNTAwOgogICAgICAgIGlmIG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSAhPSBOb25lOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5b2T5YmN6KGM5Li677yaJyArICc9PScsIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg55So5oi36K6k6K+BID0gVHJ1ZQogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKChtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkEya2V5LmlzX3ByZXNzZWQoKSkgb3IgKG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTRrZXkuaXNfcHJlc3NlZCgpKSk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgbWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAyCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+ebruagh+alvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBpZiDnlKjmiLforqTor4E6CiAgICAgICAgICAgIGlmIOeUteair+aJgOWcqOalvOWxgiA8IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgICAgICBlbGlmIOeUteair+aJgOWcqOalvOWxgiA+IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICd2JwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/miYDlnKjmpbzlsYLvvJonICsgc3RyKOeUteair+aJgOWcqOalvOWxgiksIHg9MCwgeT01MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBpZiDnlLXmoq/ooYzkuLogPT0gJ3YnOgogICAgICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCIC09IDEKICAgICAgICAgICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCICs9IDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgICAgICAgICDnlKjmiLforqTor4EgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgc3RyKOeUteair+ihjOS4uiksIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+W9k+WJjeihjOS4uu+8micgKyAn6LaF6L29JywgeD0wLCB5PTcwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +电梯所在楼层1用户所在楼层1用户目标楼层1电梯行为-用户认证FALSEWHILETRUELT1500NEQTrueMixly电梯当前行为:==07010255,255,0#ffffffTRUE用户认证TRUE电梯所在楼层int14trueORORA1keyA2keyORA3keyA4keyA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4TrueMixly用户所在楼层:Mixlyx用户目标楼层03010255,255,0#ffffffTRUE用户认证LT电梯所在楼层用户目标楼层电梯行为^GT电梯所在楼层用户目标楼层电梯行为v电梯行为-TrueMixly电梯所在楼层:Mixlyx电梯所在楼层05010255,255,0#ffffffTRUEs1EQ电梯行为vMINUSa电梯所在楼层1EQ电梯行为^ADDa电梯所在楼层1object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_CLOSETRUEs1TRUE用户认证FALSETrueMixly电梯当前行为:Mixlyx电梯行为07010255,255,0#ffffffTRUETrueMixly电梯当前行为:超载07010255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3JmaWQKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgrnlLXmoq/miYDlnKjmpbzlsYIgPSAxCueUqOaIt+aJgOWcqOalvOWxgiA9IDEK55So5oi355uu5qCH5qW85bGCID0gMQrnlLXmoq/ooYzkuLogPSAnLScK55So5oi36K6k6K+BID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkgPCAxNTAwOgogICAgICAgIGlmIG9uYm9hcmRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSAhPSBOb25lOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5b2T5YmN6KGM5Li677yaJyArICc9PScsIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg55So5oi36K6k6K+BID0gVHJ1ZQogICAgICAgICAgICDnlLXmoq/miYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgaWYgKChtaXhnb19ub3ZhLkExa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19ub3ZhLkEya2V5LmlzX3ByZXNzZWQoKSkgb3IgKG1peGdvX25vdmEuQTNrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX25vdmEuQTRrZXkuaXNfcHJlc3NlZCgpKSk6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgbWl4Z29fbm92YS5BMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbm92YS5BMmtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAyCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbm92YS5BM2tleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICAgICAgICAgIGVsaWYgbWl4Z29fbm92YS5BNGtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmiYDlnKjmpbzlsYLvvJonICsgc3RyKOeUqOaIt+ebruagh+alvOWxgiksIHg9MCwgeT0zMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBpZiDnlKjmiLforqTor4E6CiAgICAgICAgICAgIGlmIOeUteair+aJgOWcqOalvOWxgiA8IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICdeJwogICAgICAgICAgICBlbGlmIOeUteair+aJgOWcqOalvOWxgiA+IOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICAgICAgICAgIOeUteair+ihjOS4uiA9ICd2JwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg55S15qKv6KGM5Li6ID0gJy0nCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/miYDlnKjmpbzlsYLvvJonICsgc3RyKOeUteair+aJgOWcqOalvOWxgiksIHg9MCwgeT01MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBpZiDnlLXmoq/ooYzkuLogPT0gJ3YnOgogICAgICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCIC09IDEKICAgICAgICAgICAgZWxpZiDnlLXmoq/ooYzkuLogPT0gJ14nOgogICAgICAgICAgICAgICAg55S15qKv5omA5Zyo5qW85bGCICs9IDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgICAgICAgICDnlKjmiLforqTor4EgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/lvZPliY3ooYzkuLrvvJonICsgc3RyKOeUteair+ihjOS4uiksIHg9MCwgeT03MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+W9k+WJjeihjOS4uu+8micgKyAn6LaF6L29JywgeD0wLCB5PTcwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix index 3e36d32b..bb90fd6f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/24-3 自动熄灭转向灯.mix @@ -1,4 +1,4 @@ -转向灯状态-1 不亮 +转向灯状态-1 不亮 0 左闪 3 右闪 -1WHILETRUEA1key转向灯状态0B1key转向灯状态3ANDEQ转向灯状态0GT[0]0.5转向灯状态-1ANDEQ转向灯状态3LT[0]-0.5转向灯状态-1NEQ转向灯状态-10转向灯状态3000s0.20转向灯状态000s0.2{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCgoKIyAtMSDkuI3kuq4KIyAwIOW3pumXqgojIDMg5Y+z6ZeqCiMK6L2s5ZCR54Gv54q25oCBID0gLTEKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAwCiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6L2s5ZCR54Gv54q25oCBID0gMwogICAgaWYg6L2s5ZCR54Gv54q25oCBID09IDAgYW5kIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC41OgogICAgICAgIOi9rOWQkeeBr+eKtuaAgSA9IC0xCiAgICBpZiDovazlkJHnga/nirbmgIEgPT0gMyBhbmQgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC41OgogICAgICAgIOi9rOWQkeeBr+eKtuaAgSA9IC0xCiAgICBpZiDovazlkJHnga/nirbmgIEgIT0gLTE6CiAgICAgICAgb25ib2FyZF9yZ2Jb6L2s5ZCR54Gv54q25oCBXSA9ICgzMCwgMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9yZ2Jb6L2s5ZCR54Gv54q25oCBXSA9ICgwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix index e8d7f585..aa3c97f4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-3 安全带未系提醒.mix @@ -1 +1 @@ -安全带状态FALSEWHILETRUE安全带状态B1key安全带状态onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCgoK5a6J5YWo5bim54q25oCBID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIOWuieWFqOW4pueKtuaAgSA9IG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKQogICAgaWYgbm90IOWuieWFqOW4pueKtuaAgToKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CQV9ESU5HKQo= \ No newline at end of file +安全带状态FALSEWHILETRUE安全带状态B1key安全带状态onboard_music.BA_DING{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCgoK5a6J5YWo5bim54q25oCBID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIOWuieWFqOW4pueKtuaAgSA9IG5vdCBtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKQogICAgaWYgbm90IOWuieWFqOW4pueKtuaAgToKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CQV9ESU5HKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix index 64962ec6..d8aedb31 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/25-4 安全带未系提醒2.mix @@ -1 +1 @@ -安全带状态FALSEWHILETRUE安全带状态B1keyAND安全带状态GTl100spk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCgrlronlhajluKbnirbmgIEgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg5a6J5YWo5bim54q25oCBID0gbm90IG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpCiAgICBpZiBub3Qg5a6J5YWo5bim54q25oCBIGFuZCBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCg== \ No newline at end of file +安全带状态FALSEWHILETRUE安全带状态B1keyAND安全带状态GTl100spk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKCgrlronlhajluKbnirbmgIEgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg5a6J5YWo5bim54q25oCBID0gbm90IG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpCiAgICBpZiBub3Qg5a6J5YWo5bim54q25oCBIGFuZCBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgc3BrX21pZGkucGxheShzcGtfbWlkaS5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix index e868d80a..15c1c331 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/26-3 倒车雷达演示程序.mix @@ -1 +1 @@ -WHILETRUEdlMixlydGTd506591000ZHENGCHU500001dms1ZHENGCHU500001d{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgZCA9IG9uYm9hcmRfYWxzX2wucHNfbmwoKQogICAgcHJpbnQoZCkKICAgIGlmIGQgPiA1MDoKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgKDUwMDAwIC8vIGQpKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKDUwMDAwIC8vIGQpKQo=aW50KGQpCiAgICBpZiBkID4gNTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaCg2NTkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8gZCkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKICAgICAgICB0aW1lLnNsZWVwX21zKCgxMDAwMCAvLyBkKSkK \ No newline at end of file +WHILETRUEdlMixlydGTd506591000ZHENGCHU500001dms1ZHENGCHU500001d{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YV92b2ljZSBpbXBvcnQgc3BrX21pZGkKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgZCA9IG9uYm9hcmRfYWxzX2wucHNfbmwoKQogICAgcHJpbnQoZCkKICAgIGlmIGQgPiA1MDoKICAgICAgICBzcGtfbWlkaS5waXRjaF90aW1lKDY1OSwgKDUwMDAwIC8vIGQpKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKDUwMDAwIC8vIGQpKQo=aW50KGQpCiAgICBpZiBkID4gNTA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaCg2NTkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMTAwMDAgLy8gZCkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5zdG9wKCkKICAgICAgICB0aW1lLnNsZWVwX21zKCgxMDAwMCAvLyBkKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix index 9834f26e..fa4c35ea 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/27-3 模拟定速巡航.mix @@ -1 +1 @@ -当前速度40巡航速度50启动定速巡航FALSEWHILETRUEB1key当前速度int1100启动定速巡航TRUEB2key启动定速巡航FALSE启动定速巡航s0.2LT当前速度巡航速度ADDa当前速度1GT当前速度巡航速度MINUSa当前速度1TrueMixlyx当前速度0TRUE{}aW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgrlvZPliY3pgJ/luqYgPSA0MArlt6HoiKrpgJ/luqYgPSA1MArlkK/liqjlrprpgJ/lt6HoiKogPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW9k+WJjemAn+W6piA9IHJhbmRvbS5yYW5kaW50KDEsIDEwMCkKICAgICAgICDlkK/liqjlrprpgJ/lt6HoiKogPSBUcnVlCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5ZCv5Yqo5a6a6YCf5beh6IiqID0gRmFsc2UKICAgIGlmIOWQr+WKqOWumumAn+W3oeiIqjoKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBpZiDlvZPliY3pgJ/luqYgPCDlt6HoiKrpgJ/luqY6CiAgICAgICAgICAgIOW9k+WJjemAn+W6piArPSAxCiAgICAgICAgZWxpZiDlvZPliY3pgJ/luqYgPiDlt6HoiKrpgJ/luqY6CiAgICAgICAgICAgIOW9k+WJjemAn+W6piAtPSAxCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5b2T5YmN6YCf5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +当前速度40巡航速度50启动定速巡航FALSEWHILETRUEB1key当前速度int1100启动定速巡航TRUEB2key启动定速巡航FALSE启动定速巡航s0.2LT当前速度巡航速度ADDa当前速度1GT当前速度巡航速度MINUSa当前速度1TrueMixlyx当前速度0TRUE{}aW1wb3J0IG1peGdvX25vdmEKaW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CgrlvZPliY3pgJ/luqYgPSA0MArlt6HoiKrpgJ/luqYgPSA1MArlkK/liqjlrprpgJ/lt6HoiKogPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW9k+WJjemAn+W6piA9IHJhbmRvbS5yYW5kaW50KDEsIDEwMCkKICAgICAgICDlkK/liqjlrprpgJ/lt6HoiKogPSBUcnVlCiAgICBpZiBtaXhnb19ub3ZhLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5ZCv5Yqo5a6a6YCf5beh6IiqID0gRmFsc2UKICAgIGlmIOWQr+WKqOWumumAn+W3oeiIqjoKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBpZiDlvZPliY3pgJ/luqYgPCDlt6HoiKrpgJ/luqY6CiAgICAgICAgICAgIOW9k+WJjemAn+W6piArPSAxCiAgICAgICAgZWxpZiDlvZPliY3pgJ/luqYgPiDlt6HoiKrpgJ/luqY6CiAgICAgICAgICAgIOW9k+WJjemAn+W6piAtPSAxCiAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5b2T5YmN6YCf5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix index 94ec4f6e..309a3e14 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/29-2 错误检测予提示.mix @@ -1 +1 @@ -WHILETRUEB1keyl1lMixlyl10202020s1l2lMixlyl20000LTMINUS1l21l11spk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbDEgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgICAgIHByaW50KGwxKQogICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDIwLCAyMCwgMjApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBsMiA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICAgICAgcHJpbnQobDIpCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgaWYgbDIgLSBsMSA8IDE6CiAgICAgICAgICAgIHNwa19taWRpLnBsYXkoc3BrX21pZGkuREFEQURBRFVNKQo= \ No newline at end of file +WHILETRUEB1keyl1lMixlyl10202020s1l2lMixlyl20000LTMINUS1l21l11spk_midi.DADADADUM{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzcGtfbWlkaQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbDEgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgICAgIHByaW50KGwxKQogICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDIwLCAyMCwgMjApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBsMiA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICAgICAgcHJpbnQobDIpCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgaWYgbDIgLSBsMSA8IDE6CiAgICAgICAgICAgIHNwa19taWRpLnBsYXkoc3BrX21pZGkuREFEQURBRFVNKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix index 3b41d9e8..f4f7e71d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-1 把车推到目的地游戏.mix @@ -1 +1 @@ -x0y50startFALSEWHILETRUEB1keystartTRUEx0y50startTrue60x60y2255,255,0#000000TRUEA1keyADDy5A2keyMINUSx5A3keyMINUSy5A4keyADDx5EQintx0x0yintx#ffffffexpression_picture.SadTRUEstartFALSEANDEQx155EQy90expression_picture.HappyTRUEstartFALSETrue60x60y2255,255,0#ffffffTRUEdrawpathTRUE0405040255,255,0#ffffffTRUE0604060255,255,0#ffffffTRUE50405070255,255,0#ffffffTRUE40604090255,255,0#ffffffTRUE507010070255,255,0#ffffffTRUE40909090255,255,0#ffffffTRUE1007010080255,255,0#ffffffTRUE909090100255,255,0#ffffffTRUE1008015980255,255,0#ffffffTRUE90100159100255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgU2FkCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIYXBweQoKZGVmIGRyYXdwYXRoKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA0MCwgNTAsIDQwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA2MCwgNDAsIDYwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSg1MCwgNDAsIDUwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDYwLCA0MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDUwLCA3MCwgMTAwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDkwLCA5MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDEwMCwgNzAsIDEwMCwgODAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDkwLCA5MCwgOTAsIDEwMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoMTAwLCA4MCwgMTU5LCA4MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoOTAsIDEwMCwgMTU5LCAxMDAsIDB4ZmZmZixzeW5jPVRydWUpCgoKeCA9IDAKeSA9IDUwCnN0YXJ0ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBzdGFydCA9IFRydWUKICAgICAgICB4ID0gMAogICAgICAgIHkgPSA1MAogICAgICAgIGRyYXdwYXRoKCkKICAgIGlmIHN0YXJ0OgogICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoeCwgeSwgMiwgMiwgMHgwLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19ub3ZhLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHkgKz0gNQogICAgICAgIGlmIG1peGdvX25vdmEuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCAtPSA1CiAgICAgICAgaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICB5IC09IDUKICAgICAgICBpZiBtaXhnb19ub3ZhLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHggKz0gNQogICAgICAgIGlmIGludChvbmJvYXJkX3RmdC5waXhlbChpbnQoeCksIGludCh5KSkpID09IGludCgweGZmZmYpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTYWQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHN0YXJ0ID0gRmFsc2UKICAgICAgICBlbGlmIHggPT0gMTU1IGFuZCB5ID09IDkwOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIYXBweSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoeCwgeSwgMiwgMiwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +x0y50startFALSEWHILETRUEB1keystartTRUEx0y50startTrue60x60y2255,255,0#000000TRUEA1keyADDy5A2keyMINUSx5A3keyMINUSy5A4keyADDx5EQintx0x0yintx#ffffffexpression_picture.SadTRUEstartFALSEANDEQx155EQy90expression_picture.HappyTRUEstartFALSETrue60x60y2255,255,0#ffffffTRUEdrawpathTRUE0405040255,255,0#ffffffTRUE0604060255,255,0#ffffffTRUE50405070255,255,0#ffffffTRUE40604090255,255,0#ffffffTRUE507010070255,255,0#ffffffTRUE40909090255,255,0#ffffffTRUE1007010080255,255,0#ffffffTRUE909090100255,255,0#ffffffTRUE1008015980255,255,0#ffffffTRUE90100159100255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgU2FkCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIYXBweQoKZGVmIGRyYXdwYXRoKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA0MCwgNTAsIDQwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA2MCwgNDAsIDYwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSg1MCwgNDAsIDUwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDYwLCA0MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDUwLCA3MCwgMTAwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDkwLCA5MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDEwMCwgNzAsIDEwMCwgODAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDkwLCA5MCwgOTAsIDEwMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoMTAwLCA4MCwgMTU5LCA4MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoOTAsIDEwMCwgMTU5LCAxMDAsIDB4ZmZmZixzeW5jPVRydWUpCgoKeCA9IDAKeSA9IDUwCnN0YXJ0ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX25vdmEuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBzdGFydCA9IFRydWUKICAgICAgICB4ID0gMAogICAgICAgIHkgPSA1MAogICAgICAgIGRyYXdwYXRoKCkKICAgIGlmIHN0YXJ0OgogICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoeCwgeSwgMiwgMiwgMHgwLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19ub3ZhLkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHkgKz0gNQogICAgICAgIGlmIG1peGdvX25vdmEuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCAtPSA1CiAgICAgICAgaWYgbWl4Z29fbm92YS5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICB5IC09IDUKICAgICAgICBpZiBtaXhnb19ub3ZhLkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHggKz0gNQogICAgICAgIGlmIGludChvbmJvYXJkX3RmdC5waXhlbChpbnQoeCksIGludCh5KSkpID09IGludCgweGZmZmYpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTYWQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHN0YXJ0ID0gRmFsc2UKICAgICAgICBlbGlmIHggPT0gMTU1IGFuZCB5ID09IDkwOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIYXBweSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoeCwgeSwgMiwgMiwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix index c324866b..1b724ce1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-2 自动把车推到目的地游戏.mix @@ -1 +1 @@ -startFALSEWHILETRUEB1keystartTRUEx5y50startTrue60x60y2255,255,0#000000TRUEint0ADD1x50yint#000000EQint0ADD1x50yint#000000EQint0ADD1x50yint#000000x+5ADDx5EQint0x0ADD1y5int#000000y+5ADDy5EQint0x0MINUS1y5int#000000y-5MINUSy5EQint0MINUS1x50yint#000000x-5MINUSx5EQsixteenten10100x0y#ffffffexpression_picture.SadTRUEstartFALSEGTEx155expression_picture.HappyTRUEstartFALSETrue60x60y2255,255,0#ffffffTRUEs1drawpathTRUE0405040255,255,0#ffffffTRUE0604060255,255,0#ffffffTRUE50405070255,255,0#ffffffTRUE40604090255,255,0#ffffffTRUE507010070255,255,0#ffffffTRUE40909090255,255,0#ffffffTRUE1007010080255,255,0#ffffffTRUE909090100255,255,0#ffffffTRUE1008015980255,255,0#ffffffTRUE90100159100255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWF0aApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgU2FkCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIYXBweQppbXBvcnQgdGltZQoKZGVmIGRyYXdwYXRoKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA0MCwgNTAsIDQwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA2MCwgNDAsIDYwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSg1MCwgNDAsIDUwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDYwLCA0MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDUwLCA3MCwgMTAwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDkwLCA5MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDEwMCwgNzAsIDEwMCwgODAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDkwLCA5MCwgOTAsIDEwMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoMTAwLCA4MCwgMTU5LCA4MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoOTAsIDEwMCwgMTU5LCAxMDAsIDB4ZmZmZixzeW5jPVRydWUpCgoKc3RhcnQgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHN0YXJ0ID0gVHJ1ZQogICAgICAgIHggPSA1CiAgICAgICAgeSA9IDUwCiAgICAgICAgZHJhd3BhdGgoKQogICAgaWYgc3RhcnQ6CiAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSh4LCB5LCAyLCAyLCAweDAsIFRydWUsc3luYz1UcnVlKQogICAgICAgIHByaW50KGludChvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKyA1KSksIGludCh5KSkpLCBpbnQoMHgwKSwgaW50KG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCArIDUpKSwgaW50KHkpKSkgPT0gaW50KDB4MCkpCiAgICAgICAgaWYgaW50KG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCArIDUpKSwgaW50KHkpKSkgPT0gaW50KDB4MCk6CiAgICAgICAgICAgIHByaW50KCd4KzUnKQogICAgICAgICAgICB4ICs9IDUKICAgICAgICBlbGlmIGludChvbmJvYXJkX3RmdC5waXhlbChpbnQoeCksIGludCgoeSArIDUpKSkpID09IGludCgweDApOgogICAgICAgICAgICBwcmludCgneSs1JykKICAgICAgICAgICAgeSArPSA1CiAgICAgICAgZWxpZiBpbnQob25ib2FyZF90ZnQucGl4ZWwoaW50KHgpLCBpbnQoKHkgLSA1KSkpKSA9PSBpbnQoMHgwKToKICAgICAgICAgICAgcHJpbnQoJ3ktNScpCiAgICAgICAgICAgIHkgLT0gNQogICAgICAgIGVsaWYgaW50KG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCAtIDUpKSwgaW50KHkpKSkgPT0gaW50KDB4MCk6CiAgICAgICAgICAgIHByaW50KCd4LTUnKQogICAgICAgICAgICB4IC09IDUKICAgICAgICBpZiBpbnQoc3RyKG9uYm9hcmRfdGZ0LnBpeGVsKGludCh4KSwgaW50KHkpKSksIDE2KSA9PSAweGZmZmY6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNhZCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsaWYgeCA+PSAxNTU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhhcHB5LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSh4LCB5LCAyLCAyLCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +startFALSEWHILETRUEB1keystartTRUEx5y50startTrue60x60y2255,255,0#000000TRUEint0ADD1x50yint#000000EQint0ADD1x50yint#000000EQint0ADD1x50yint#000000x+5ADDx5EQint0x0ADD1y5int#000000y+5ADDy5EQint0x0MINUS1y5int#000000y-5MINUSy5EQint0MINUS1x50yint#000000x-5MINUSx5EQsixteenten10100x0y#ffffffexpression_picture.SadTRUEstartFALSEGTEx155expression_picture.HappyTRUEstartFALSETrue60x60y2255,255,0#ffffffTRUEs1drawpathTRUE0405040255,255,0#ffffffTRUE0604060255,255,0#ffffffTRUE50405070255,255,0#ffffffTRUE40604090255,255,0#ffffffTRUE507010070255,255,0#ffffffTRUE40909090255,255,0#ffffffTRUE1007010080255,255,0#ffffffTRUE909090100255,255,0#ffffffTRUE1008015980255,255,0#ffffffTRUE90100159100255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWF0aApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgU2FkCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBIYXBweQppbXBvcnQgdGltZQoKZGVmIGRyYXdwYXRoKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA0MCwgNTAsIDQwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSgwLCA2MCwgNDAsIDYwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQubGluZSg1MCwgNDAsIDUwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDYwLCA0MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDUwLCA3MCwgMTAwLCA3MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoNDAsIDkwLCA5MCwgOTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDEwMCwgNzAsIDEwMCwgODAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5saW5lKDkwLCA5MCwgOTAsIDEwMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoMTAwLCA4MCwgMTU5LCA4MCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmxpbmUoOTAsIDEwMCwgMTU5LCAxMDAsIDB4ZmZmZixzeW5jPVRydWUpCgoKc3RhcnQgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHN0YXJ0ID0gVHJ1ZQogICAgICAgIHggPSA1CiAgICAgICAgeSA9IDUwCiAgICAgICAgZHJhd3BhdGgoKQogICAgaWYgc3RhcnQ6CiAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSh4LCB5LCAyLCAyLCAweDAsIFRydWUsc3luYz1UcnVlKQogICAgICAgIHByaW50KGludChvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKyA1KSksIGludCh5KSkpLCBpbnQoMHgwKSwgaW50KG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCArIDUpKSwgaW50KHkpKSkgPT0gaW50KDB4MCkpCiAgICAgICAgaWYgaW50KG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCArIDUpKSwgaW50KHkpKSkgPT0gaW50KDB4MCk6CiAgICAgICAgICAgIHByaW50KCd4KzUnKQogICAgICAgICAgICB4ICs9IDUKICAgICAgICBlbGlmIGludChvbmJvYXJkX3RmdC5waXhlbChpbnQoeCksIGludCgoeSArIDUpKSkpID09IGludCgweDApOgogICAgICAgICAgICBwcmludCgneSs1JykKICAgICAgICAgICAgeSArPSA1CiAgICAgICAgZWxpZiBpbnQob25ib2FyZF90ZnQucGl4ZWwoaW50KHgpLCBpbnQoKHkgLSA1KSkpKSA9PSBpbnQoMHgwKToKICAgICAgICAgICAgcHJpbnQoJ3ktNScpCiAgICAgICAgICAgIHkgLT0gNQogICAgICAgIGVsaWYgaW50KG9uYm9hcmRfdGZ0LnBpeGVsKGludCgoeCAtIDUpKSwgaW50KHkpKSkgPT0gaW50KDB4MCk6CiAgICAgICAgICAgIHByaW50KCd4LTUnKQogICAgICAgICAgICB4IC09IDUKICAgICAgICBpZiBpbnQoc3RyKG9uYm9hcmRfdGZ0LnBpeGVsKGludCh4KSwgaW50KHkpKSksIDE2KSA9PSAweGZmZmY6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNhZCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgc3RhcnQgPSBGYWxzZQogICAgICAgIGVsaWYgeCA+PSAxNTU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhhcHB5LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBzdGFydCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSh4LCB5LCAyLCAyLCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix index 2618e626..a8af8eb6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/3-3 改变机器人距离和速度体验.mix @@ -1 +1 @@ -x移动小车fill_rect0MINUS1x1402060255,255,0#000000TRUEfill_rect20ADD191x604020255,255,0#000000TRUEfill_rect60ADD591x402060255,255,0#000000TRUEfill_rect0x402060255,255,0#ffffffTRUEfill_rect20ADD201x604020255,255,0#ffffffTRUEfill_rect60ADD601x402060255,255,0#ffffffTRUE距离60速度5WHILETRUEB1keyTRUEfill_rect20ADD801距离604020255,255,0#ff0000TRUE0,1,2,305距离1iims1ZHENGCHU10001速度{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIOenu+WKqOWwj+i9pih4KToKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoeCAtIDEpLCA0MCwgMjAsIDYwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgxOSArIHgpLCA2MCwgNDAsIDIwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCg1OSArIHgpLCA0MCwgMjAsIDYwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KHgsIDQwLCAyMCwgNjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKDIwICsgeCksIDYwLCA0MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKDYwICsgeCksIDQwLCAyMCwgNjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK6Led56a7ID0gNjAK6YCf5bqmID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCg4MCArIOi3neemuyksIDYwLCA0MCwgMjAsIDB4ZjgwMCxzeW5jPVRydWUpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwg6Led56a7LCAxKToKICAgICAgICAgICAg56e75Yqo5bCP6L2mKGkpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoKDEwMDAgLy8g6YCf5bqmKSkK \ No newline at end of file +x移动小车fill_rect0MINUS1x1402060255,255,0#000000TRUEfill_rect20ADD191x604020255,255,0#000000TRUEfill_rect60ADD591x402060255,255,0#000000TRUEfill_rect0x402060255,255,0#ffffffTRUEfill_rect20ADD201x604020255,255,0#ffffffTRUEfill_rect60ADD601x402060255,255,0#ffffffTRUE距离60速度5WHILETRUEB1keyTRUEfill_rect20ADD801距离604020255,255,0#ff0000TRUE0,1,2,305距离1iims1ZHENGCHU10001速度{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fbm92YQppbXBvcnQgdGltZQoKZGVmIOenu+WKqOWwj+i9pih4KToKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoeCAtIDEpLCA0MCwgMjAsIDYwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgxOSArIHgpLCA2MCwgNDAsIDIwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCg1OSArIHgpLCA0MCwgMjAsIDYwLCAweDAsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KHgsIDQwLCAyMCwgNjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKDIwICsgeCksIDYwLCA0MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKDYwICsgeCksIDQwLCAyMCwgNjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK6Led56a7ID0gNjAK6YCf5bqmID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbm92YS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCg4MCArIOi3neemuyksIDYwLCA0MCwgMjAsIDB4ZjgwMCxzeW5jPVRydWUpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwg6Led56a7LCAxKToKICAgICAgICAgICAg56e75Yqo5bCP6L2mKGkpCiAgICAgICAgICAgIHRpbWUuc2xlZXBfbXMoKDEwMDAgLy8g6YCf5bqmKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix index a6b7fcb2..89c18989 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 声控灯演示.mix @@ -1 +1 @@ -WHILETRUEGT100001-1s0.1{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIHNvdW5kX2xldmVsKCkgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUEGT100001-1s0.1{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIHNvdW5kX2xldmVsKCkgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix index 2a5eb0f4..4492b10d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/4-2 自动门演示.mix @@ -1 +1 @@ -WHILETRUEobject_picture.DOOR_CLOSETRUEGTl100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +WHILETRUEobject_picture.DOOR_CLOSETRUEGTl100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix index f286b194..caaf5aaa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-1 看见声音演示.mix @@ -1 +1 @@ -WHILETRUETRUE0,1,2,301601xx127x50MINUS1271intx500300000127255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNvdW5kX2xldmVsCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIGZvciB4IGluIHJhbmdlKDAsIDE2MCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQubGluZSh4LCAxMjcsIHgsICgxMjcgLSBpbnQoKG1hdGhfbWFwKHNvdW5kX2xldmVsKCksIDAsIDMwMDAwLCAwLCAxMjcpKSkpLCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUETRUE0,1,2,301601xx127x50MINUS1271intx500300000127255,255,0#ffffffTRUE{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX25vdmFfdm9pY2UgaW1wb3J0IHNvdW5kX2xldmVsCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIGZvciB4IGluIHJhbmdlKDAsIDE2MCwgMSk6CiAgICAgICAgb25ib2FyZF90ZnQubGluZSh4LCAxMjcsIHgsICgxMjcgLSBpbnQoKG1hdGhfbWFwKHNvdW5kX2xldmVsKCksIDAsIDMwMDAwLCAwLCAxMjcpKSkpLCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix index b8b780b6..6fb2990a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/5-4 声控灯阈值体验.mix @@ -1 +1 @@ -阈值10000WHILETRUEGT阈值1-1s1{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoK6ZiI5YC8ID0gMTAwMDAKd2hpbGUgVHJ1ZToKICAgIGlmIHNvdW5kX2xldmVsKCkgPiDpmIjlgLw6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==sZWVwKDAuMSkK \ No newline at end of file +阈值10000WHILETRUEGT阈值1-1s1{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoK6ZiI5YC8ID0gMTAwMDAKd2hpbGUgVHJ1ZToKICAgIGlmIHNvdW5kX2xldmVsKCkgPiDpmIjlgLw6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==sZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-1 开关量.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-1 开关量.mix index b398df4a..9bb13682 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-1 开关量.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-1 开关量.mix @@ -1 +1 @@ -WHILETRUE11B1key{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpKQo= \ No newline at end of file +WHILETRUE11B1key{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3 非体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3 非体验.mix index 1a744054..6fab17c5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3 非体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3 非体验.mix @@ -1 +1 @@ -WHILETRUEB1keyexpression_picture.HeartTRUEexpression_picture.Small_heartTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbm90IG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEB1keyexpression_picture.HeartTRUEexpression_picture.Small_heartTRUE{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbm90IG1peGdvX25vdmEuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix index 1b537ac4..3a67f294 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/6-3-2 非体验.mix @@ -1 +1 @@ -WHILETRUE11B1key{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChub3QgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file +WHILETRUE11B1key{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChub3QgbWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-1 与运算.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-1 与运算.mix index 8a2568fd..48b5c207 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-1 与运算.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-1 与运算.mix @@ -1 +1 @@ -WHILETRUE11ANDB1keyB2key{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file +WHILETRUE11ANDB1keyB2key{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19ub3ZhLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbm92YS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix index 0ded1f88..05a1e2e0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/7-3 楼道灯体验.mix @@ -1 +1 @@ -WHILETRUEANDGT10000LTl2011s110{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBzb3VuZF9sZXZlbCgpID4gMTAwMDAgYW5kIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpIDwgMjA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +WHILETRUEANDGT10000LTl2011s110{}ZnJvbSBtaXhnb19ub3ZhX3ZvaWNlIGltcG9ydCBzb3VuZF9sZXZlbApmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBzb3VuZF9sZXZlbCgpID4gMTAwMDAgYW5kIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpIDwgMjA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-1 或运算.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-1 或运算.mix index 83e30759..b7758c80 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-1 或运算.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-1 或运算.mix @@ -1 +1 @@ -WHILETRUE11ANDB1keyB2key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file +WHILETRUE11ANDB1keyB2key{}ZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fbWluaQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLChtaXhnb19taW5pLkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQgbWl4Z29fbWluaS5CMmtleS5pc19wcmVzc2VkKCkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix index a0c3fa35..64389c33 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/8-3 自动门加手动体验.mix @@ -1 +1 @@ -WHILETRUEobject_picture.DOOR_CLOSETRUEORGTl100ANDB1keyA1keyobject_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs3object_picture.DOOR_OPENINGTRUEs0.5{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCBvciAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkgYW5kIG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMykKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +WHILETRUEobject_picture.DOOR_CLOSETRUEORGTl100ANDB1keyA1keyobject_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs3object_picture.DOOR_OPENINGTRUEs0.5{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fbm92YSBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQgbWl4Z29fbm92YQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCBvciAobWl4Z29fbm92YS5CMWtleS5pc19wcmVzc2VkKCkgYW5kIG1peGdvX25vdmEuQTFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMykKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix index df80e425..52dafdcb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 开关灯体验.mix @@ -1 +1 @@ -WHILETRUEB1key21B2key20s0.1{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUEB1key21B2key20s0.1{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix index cc6fbd14..d9f1defb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-1 触控灯体验.mix @@ -1 +1 @@ -WHILETRUEB1key21B2key20{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file +WHILETRUEB1key21B2key20{}aW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19ub3ZhLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbWl4Z29fbm92YS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix index a4b96d04..0fadaf91 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-2 可调灯体验.mix @@ -1 +1 @@ -WHILETRUEMixlyLTLT-1000x6001100intx50-50005000010010{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBwcmludChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpKQogICAgaWYgbm90ICgtMTAwMCA8IG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkgPCA2MDApOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgaW50KChtYXRoX21hcChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpLCAoLTUwMDApLCA1MDAwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMCkKwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMCkKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkKuc2V0YnJpZ2h0bmVzcygxLDApCgpub3QgRmFsc2UKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMyw0KQo= \ No newline at end of file +WHILETRUEMixlyLTLT-1000x6001100intx50-50005000010010{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX25vdmEKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBwcmludChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpKQogICAgaWYgbm90ICgtMTAwMCA8IG1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkgPCA2MDApOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgaW50KChtYXRoX21hcChtaXhnb19ub3ZhLnRvdWNoX3NsaWRlKDMsIDQpLCAoLTUwMDApLCA1MDAwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMCkKwLCAwLCAxMDApKSkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMCkKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMywgNCkKuc2V0YnJpZ2h0bmVzcygxLDApCgpub3QgRmFsc2UKCm1peGdvX25vdmEudG91Y2hfc2xpZGUoMyw0KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix index 53c54883..1ab4a7d1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-1 光标手动控制演示.mix @@ -1 +1 @@ -x6y4WHILETRUELT[0]-0.1MINUSx5GT[0]0.1ADDx5LT[1]-0.1MINUSy5GT[1]0.1ADDy5x1000x0157y1000y0125TRUEfill_rect20x20y44255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4xOgogICAgICAgIHggLT0gNQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjE6CiAgICAgICAgeCArPSA1CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IC0wLjE6CiAgICAgICAgeSAtPSA1CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMToKICAgICAgICB5ICs9IDUKICAgIHggPSBtaW4obWF4KHgsIDApLCAxNTcpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgMTI1KQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCh4LCB5LCA0LCA0LCAweGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +x6y4WHILETRUELT[0]-0.1MINUSx5GT[0]0.1ADDx5LT[1]-0.1MINUSy5GT[1]0.1ADDy5x1000x0157y1000y0125TRUEfill_rect20x20y44255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19ub3ZhIGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNAp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4xOgogICAgICAgIHggLT0gNQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjE6CiAgICAgICAgeCArPSA1CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IC0wLjE6CiAgICAgICAgeSAtPSA1CiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMToKICAgICAgICB5ICs9IDUKICAgIHggPSBtaW4obWF4KHgsIDApLCAxNTcpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgMTI1KQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCh4LCB5LCA0LCA0LCAweGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix index c5019b96..e3583b7c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Nova/教学指南米思齐修订版/六年级代码/9-4-2 光标自动控制演示.mix @@ -1 +1 @@ -x6y4WHILETRUEtint14EQt1MINUSx5EQt2ADDx5EQt3MINUSy5EQt4ADDy5x1000x0157y1000y0126TRUEfill_rect20x20y44255,255,0#ffffffTRUEs0.1{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNAp3aGlsZSBUcnVlOgogICAgdCA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCiAgICBpZiB0ID09IDE6CiAgICAgICAgeCAtPSA1CiAgICBpZiB0ID09IDI6CiAgICAgICAgeCArPSA1CiAgICBpZiB0ID09IDM6CiAgICAgICAgeSAtPSA1CiAgICBpZiB0ID09IDQ6CiAgICAgICAgeSArPSA1CiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTU3KQogICAgeSA9IG1pbihtYXgoeSwgMCksIDEyNikKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoeCwgeSwgNCwgNCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +x6y4WHILETRUEtint14EQt1MINUSx5EQt2ADDx5EQt3MINUSy5EQt4ADDy5x1000x0157y1000y0126TRUEfill_rect20x20y44255,255,0#ffffffTRUEs0.1{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX25vdmEgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNAp3aGlsZSBUcnVlOgogICAgdCA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCiAgICBpZiB0ID09IDE6CiAgICAgICAgeCAtPSA1CiAgICBpZiB0ID09IDI6CiAgICAgICAgeCArPSA1CiAgICBpZiB0ID09IDM6CiAgICAgICAgeSAtPSA1CiAgICBpZiB0ID09IDQ6CiAgICAgICAgeSArPSA1CiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTU3KQogICAgeSA9IG1pbihtYXgoeSwgMCksIDEyNikKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoeCwgeSwgNCwgNCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-0-1 起始课-你好米思齐.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-0-1 起始课-你好米思齐.mix index e0764089..637b1c1e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-0-1 起始课-你好米思齐.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-0-1 起始课-你好米思齐.mix @@ -1 +1 @@ -你好,米思齐!expression_picture.HeartTRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKCm9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM57Gz5oCd6b2Q77yBJywgY29sb3I9MHhmZmZmKQpvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +你好,米思齐!expression_picture.HeartTRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKCm9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM57Gz5oCd6b2Q77yBJywgY29sb3I9MHhmZmZmKQpvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-1 心随我动-一秒一次心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-1 心随我动-一秒一次心跳.mix index 913bcd4d..185e69c7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-1 心随我动-一秒一次心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-1 心随我动-一秒一次心跳.mix @@ -1 +1 @@ -WHILETRUEexpression_picture.HeartTRUEs1expression_picture.Small_heartTRUEs1{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEexpression_picture.HeartTRUEs1expression_picture.Small_heartTRUEs1{}ZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-2 心随我动-滚动显示加心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-2 心随我动-滚动显示加心跳.mix index b837838c..f7078b02 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-2 心随我动-滚动显示加心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-1-2 心随我动-滚动显示加心跳.mix @@ -1 +1 @@ -我爱米思齐!WHILETRUEexpression_picture.HeartTRUEs1expression_picture.Small_heartTRUEs1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CgpvbmJvYXJkX3RmdC5zY3JvbGwoJ+aIkeeIseexs+aAnem9kO+8gScsIGNvbG9yPTB4ZmZmZikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +我爱米思齐!WHILETRUEexpression_picture.HeartTRUEs1expression_picture.Small_heartTRUEs1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGV4cHJlc3Npb25fcGljdHVyZSBpbXBvcnQgSGVhcnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0CgpvbmJvYXJkX3RmdC5zY3JvbGwoJ+aIkeeIseexs+aAnem9kO+8gScsIGNvbG9yPTB4ZmZmZikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-1 心随我动-按着心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-1 心随我动-按着心跳.mix index 259a2857..cb23733a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-1 心随我动-按着心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-1 心随我动-按着心跳.mix @@ -1 +1 @@ -WHILETRUEB1keyexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEB1keyexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-2 心随我动-不同按钮不同速度心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-2 心随我动-不同按钮不同速度心跳.mix index 4a4db470..40526097 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-2 心随我动-不同按钮不同速度心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-2-2 心随我动-不同按钮不同速度心跳.mix @@ -1 +1 @@ -WHILETRUEB1keyexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1B2keyexpression_picture.HeartTRUEs0.5expression_picture.Small_heartTRUEs0.5{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBpZiBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +WHILETRUEB1keyexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1B2keyexpression_picture.HeartTRUEs0.5expression_picture.Small_heartTRUEs0.5{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoSGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBpZiBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-1 心随我动-按下开始心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-1 心随我动-按下开始心跳.mix index 719ef75d..ec05aa5f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-1 心随我动-按下开始心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-1 心随我动-按下开始心跳.mix @@ -1 +1 @@ -WHILETRUEB1keyWHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUEB1keyWHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-2 心随我动-按下改变心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-2 心随我动-按下改变心跳.mix index bfa8a19c..60bc5186 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-2 心随我动-按下改变心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-3-2 心随我动-按下改变心跳.mix @@ -1 +1 @@ -WHILETRUEB1keyWHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1B1keyBREAK{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICBicmVhawo= \ No newline at end of file +WHILETRUEB1keyWHILETRUEexpression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1B1keyBREAK{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU21hbGxfaGVhcnQsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgICAgICBicmVhawo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-1 心随我动-双键控制心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-1 心随我动-双键控制心跳.mix index 36c4fc12..ed11c128 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-1 心随我动-双键控制心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-1 心随我动-双键控制心跳.mix @@ -1 +1 @@ -心跳FALSEWHILETRUEB1key心跳FALSEB2key心跳TRUE心跳expression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgrlv4Pot7MgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW/g+i3syA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5b+D6LezID0gVHJ1ZQogICAgaWYg5b+D6LezOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +心跳FALSEWHILETRUEB1key心跳FALSEB2key心跳TRUE心跳expression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgrlv4Pot7MgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW/g+i3syA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5b+D6LezID0gVHJ1ZQogICAgaWYg5b+D6LezOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKEhlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFNtYWxsX2hlYXJ0LCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-2 心随我动-IPO单键控制心跳.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-2 心随我动-IPO单键控制心跳.mix index 7c3c7a24..696efd16 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-2 心随我动-IPO单键控制心跳.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/1-4-2 心随我动-IPO单键控制心跳.mix @@ -1 +1 @@ -心跳FALSEWHILETRUEB1key心跳心跳心跳expression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgrlv4Pot7MgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW/g+i3syA9IG5vdCDlv4Pot7MKICAgIGlmIOW/g+i3szoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +心跳FALSEWHILETRUEB1key心跳心跳心跳expression_picture.HeartTRUEs0.1expression_picture.Small_heartTRUEs0.1{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IEhlYXJ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBleHByZXNzaW9uX3BpY3R1cmUgaW1wb3J0IFNtYWxsX2hlYXJ0Cgrlv4Pot7MgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW/g+i3syA9IG5vdCDlv4Pot7MKICAgIGlmIOW/g+i3szoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShIZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShTbWFsbF9oZWFydCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-1 灯随我控-双键手动开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-1 灯随我控-双键手动开关灯.mix index 3e7135c1..dadb0d2d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-1 灯随我控-双键手动开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-1 灯随我控-双键手动开关灯.mix @@ -1 +1 @@ -WHILETRUEB1key1121B2key1020{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file +WHILETRUEB1key1121B2key1020{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-2 灯随我控-单键手动开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-2 灯随我控-单键手动开关灯.mix index 22a5dbb2..204b4231 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-2 灯随我控-单键手动开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-1-2 灯随我控-单键手动开关灯.mix @@ -1 +1 @@ -亮灯FALSEWHILETRUEB1key亮灯亮灯10亮灯20亮灯{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCuS6rueBryA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Lqu54GvID0gbm90IOS6rueBrwogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSzkuq7nga8pCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLOS6rueBrykK \ No newline at end of file +亮灯FALSEWHILETRUEB1key亮灯亮灯10亮灯20亮灯{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCuS6rueBryA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Lqu54GvID0gbm90IOS6rueBrwogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSzkuq7nga8pCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLOS6rueBrykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-1 灯随我控-打开自动熄灭灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-1 灯随我控-打开自动熄灭灯.mix index 7b2ef383..a753b37f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-1 灯随我控-打开自动熄灭灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-1 灯随我控-打开自动熄灭灯.mix @@ -1 +1 @@ -WHILETRUEB1key11s210{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +WHILETRUEB1key11s210{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-2 灯随我控-按下延时熄灭灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-2 灯随我控-按下延时熄灭灯.mix index ba36cf2e..67f6f5a9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-2 灯随我控-按下延时熄灭灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-2-2 灯随我控-按下延时熄灭灯.mix @@ -1 +1 @@ -WHILETRUEB1key11B2keys210{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +WHILETRUEB1key11B2keys210{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-1 灯随我控-声音大小测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-1 灯随我控-声音大小测试.mix index 2c0207b7..8732957b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-1 灯随我控-声音大小测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-1 灯随我控-声音大小测试.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgdGltZS5zbGVlcCgxKQo=e> \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgdGltZS5zbGVlcCgxKQo=e> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-2 灯随我控-声控灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-2 灯随我控-声控灯.mix index 8f58c650..8740e88e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-2 灯随我控-声控灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-3-2 灯随我控-声控灯.mix @@ -1 +1 @@ -WHILETRUE声音Mixly声音GT声音5001-1s0.5s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+zID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIHByaW50KOWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUE声音Mixly声音GT声音5001-1s0.5s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+zID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIHByaW50KOWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-1 灯随我控-简单声音控制楼道灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-1 灯随我控-简单声音控制楼道灯.mix index e1930113..336d9a03 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-1 灯随我控-简单声音控制楼道灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-1 灯随我控-简单声音控制楼道灯.mix @@ -1 +1 @@ -WHILETRUE声音Mixly声音GT声音50011s310s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+zID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIHByaW50KOWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgzKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo=OWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgzKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUE声音Mixly声音GT声音50011s310s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+zID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIHByaW50KOWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgzKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo=OWjsOmfsykKICAgIGlmIOWjsOmfsyA+IDUwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgzKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-2 灯随我控-加光线检测楼道灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-2 灯随我控-加光线检测楼道灯.mix index e39b1a0a..312d95a2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-2 灯随我控-加光线检测楼道灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-4-2 灯随我控-加光线检测楼道灯.mix @@ -1 +1 @@ -WHILETRUE声音光照l声音光照ANDGT声音500LT光照1011s310s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfsyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICDlhYnnhacgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgcHJpbnQo5aOw6Z+zLCDlhYnnhacpCiAgICBpZiDlo7Dpn7MgPiA1MDAgYW5kIOWFieeFpyA8IDEwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUE声音光照l声音光照ANDGT声音500LT光照1011s310s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfsyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICDlhYnnhacgPSBvbmJvYXJkX2Fsc19sLmFsc192aXMoKQogICAgcHJpbnQo5aOw6Z+zLCDlhYnnhacpCiAgICBpZiDlo7Dpn7MgPiA1MDAgYW5kIOWFieeFpyA8IDEwOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-0 灯随我控-滑动触摸测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-0 灯随我控-滑动触摸测试.mix index bb5e6338..9a15b700 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-0 灯随我控-滑动触摸测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-0 灯随我控-滑动触摸测试.mix @@ -1 +1 @@ -WHILETRUEMixlys0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +WHILETRUEMixlys0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-1 灯随我控-简单滑动可调台灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-1 灯随我控-简单滑动可调台灯.mix index fbc8036a..0c90678b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-1 灯随我控-简单滑动可调台灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-1 灯随我控-简单滑动可调台灯.mix @@ -1 +1 @@ -WHILETRUE亮度ceil0.99850-10010001002100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgoKd2hpbGUgVHJ1ZToKICAgIOS6ruW6piA9IG1hdGguY2VpbChtYXRoX21hcChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpLCAoLTEwMCksIDEwMCwgMCwgMTAwKSkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQo= \ No newline at end of file +WHILETRUE亮度ceil0.99850-10010001002100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgoKd2hpbGUgVHJ1ZToKICAgIOS6ruW6piA9IG1hdGguY2VpbChtYXRoX21hcChvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpLCAoLTEwMCksIDEwMCwgMCwgMTAwKSkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-2 灯随我控-改进滑动可调台灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-2 灯随我控-改进滑动可调台灯.mix index fc0f274b..34c9f403 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-2 灯随我控-改进滑动可调台灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-2 灯随我控-改进滑动可调台灯.mix @@ -1 +1 @@ -WHILETRUELTLT-5x5亮度ceil0.99850-10010001002100亮度s0.120{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTUgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNSk6CiAgICAgICAg5Lqu5bqmID0gbWF0aC5jZWlsKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDIsIDApCg== \ No newline at end of file +WHILETRUELTLT-5x5亮度ceil0.99850-10010001002100亮度s0.120{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTUgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNSk6CiAgICAgICAg5Lqu5bqmID0gbWF0aC5jZWlsKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDIsIDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-3 灯随我控-滑动可调保持台灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-3 灯随我控-滑动可调保持台灯.mix index ab36bf22..92238b82 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-3 灯随我控-滑动可调保持台灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-5-3 灯随我控-滑动可调保持台灯.mix @@ -1 +1 @@ -WHILETRUELTLT-5x5亮度ceil0.99850-10010001002100亮度s0.120{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTUgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNSk6CiAgICAgICAg5Lqu5bqmID0gbWF0aC5jZWlsKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBwYXNzCg== \ No newline at end of file +WHILETRUELTLT-5x5亮度ceil0.99850-10010001002100亮度s0.120{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWF0aApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCAoLTUgPCBvbmJvYXJkX2JvdC50b3VjaF9zbGlkZSgpIDwgNSk6CiAgICAgICAg5Lqu5bqmID0gbWF0aC5jZWlsKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwg5Lqu5bqmKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-1 灯随我控-恒亮灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-1 灯随我控-恒亮灯.mix index 45e3d4d6..1b0dba6b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-1 灯随我控-恒亮灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-1 灯随我控-恒亮灯.mix @@ -1 +1 @@ -亮度目标40RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度lMixly当前亮度LT当前亮度亮度目标ADDaRGB亮度1GT当前亮度亮度目标MINUSaRGB亮度1s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSA0MApSR0Lkuq7luqYgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKChSR0Lkuq7luqYsIFJHQuS6ruW6piwgUkdC5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOW9k+WJjeS6ruW6piA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3kuq7luqYpCiAgICBpZiDlvZPliY3kuq7luqYgPCDkuq7luqbnm67moIc6CiAgICAgICAgUkdC5Lqu5bqmICs9IDEKICAgIGVsaWYg5b2T5YmN5Lqu5bqmID4g5Lqu5bqm55uu5qCHOgogICAgICAgIFJHQuS6ruW6piAtPSAxCiAgICBlbHNlOgogICAgICAgIHBhc3MKICAgIHRpbWUuc2xlZXAoMC4xKQo=> \ No newline at end of file +亮度目标40RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度lMixly当前亮度LT当前亮度亮度目标ADDaRGB亮度1GT当前亮度亮度目标MINUSaRGB亮度1s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSA0MApSR0Lkuq7luqYgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKChSR0Lkuq7luqYsIFJHQuS6ruW6piwgUkdC5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOW9k+WJjeS6ruW6piA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3kuq7luqYpCiAgICBpZiDlvZPliY3kuq7luqYgPCDkuq7luqbnm67moIc6CiAgICAgICAgUkdC5Lqu5bqmICs9IDEKICAgIGVsaWYg5b2T5YmN5Lqu5bqmID4g5Lqu5bqm55uu5qCHOgogICAgICAgIFJHQuS6ruW6piAtPSAxCiAgICBlbHNlOgogICAgICAgIHBhc3MKICAgIHRpbWUuc2xlZXAoMC4xKQo=> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-2 灯随我控-改进恒亮灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-2 灯随我控-改进恒亮灯.mix index 074b31f1..7a0b8cb2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-2 灯随我控-改进恒亮灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/2-6-2 灯随我控-改进恒亮灯.mix @@ -1 +1 @@ -亮度目标40RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度lMixly当前亮度LT当前亮度MINUS1亮度目标5ADDaRGB亮度1GT当前亮度ADD1亮度目标5MINUSaRGB亮度1s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSA0MApSR0Lkuq7luqYgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKChSR0Lkuq7luqYsIFJHQuS6ruW6piwgUkdC5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOW9k+WJjeS6ruW6piA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3kuq7luqYpCiAgICBpZiDlvZPliY3kuq7luqYgPCDkuq7luqbnm67moIcgLSA1OgogICAgICAgIFJHQuS6ruW6piArPSAxCiAgICBlbGlmIOW9k+WJjeS6ruW6piA+IOS6ruW6puebruaghyArIDU6CiAgICAgICAgUkdC5Lqu5bqmIC09IDEKICAgIGVsc2U6CiAgICAgICAgcGFzcwogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +亮度目标40RGB亮度0WHILETRUE0RGB亮度0RGB亮度0RGB亮度当前亮度lMixly当前亮度LT当前亮度MINUS1亮度目标5ADDaRGB亮度1GT当前亮度ADD1亮度目标5MINUSaRGB亮度1s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgrkuq7luqbnm67moIcgPSA0MApSR0Lkuq7luqYgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYi5maWxsKChSR0Lkuq7luqYsIFJHQuS6ruW6piwgUkdC5Lqu5bqmKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIOW9k+WJjeS6ruW6piA9IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpCiAgICBwcmludCjlvZPliY3kuq7luqYpCiAgICBpZiDlvZPliY3kuq7luqYgPCDkuq7luqbnm67moIcgLSA1OgogICAgICAgIFJHQuS6ruW6piArPSAxCiAgICBlbGlmIOW9k+WJjeS6ruW6piA+IOS6ruW6puebruaghyArIDU6CiAgICAgICAgUkdC5Lqu5bqmIC09IDEKICAgIGVsc2U6CiAgICAgICAgcGFzcwogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-1 眼疾手快-循环等待用户输入.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-1 眼疾手快-循环等待用户输入.mix index 7607d606..c71f18b3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-1 眼疾手快-循环等待用户输入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-1 眼疾手快-循环等待用户输入.mix @@ -1 +1 @@ -WHILETRUE21trueB1key20s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUE21trueB1key20s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-2 眼疾手快-记录反应时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-2 眼疾手快-记录反应时间.mix index fcbf7bc6..03ebd56f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-2 眼疾手快-记录反应时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-1-2 眼疾手快-记录反应时间.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE21亮灯时刻mstrueB1key20按下时刻mss1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE21亮灯时刻mstrueB1key20按下时刻mss1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-1 眼疾手快-计算反应时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-1 眼疾手快-计算反应时间.mix index 208a76da..464e5863 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-1 眼疾手快-计算反应时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-1 眼疾手快-计算反应时间.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE21亮灯时刻mstrueB1key20按下时刻msTrueMixlyxMINUS1按下时刻1亮灯时刻0s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg==uc2hvd3Moc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE21亮灯时刻mstrueB1key20按下时刻msTrueMixlyxMINUS1按下时刻1亮灯时刻0s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKCjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLspKSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg==uc2hvd3Moc3RyKChfRTZfOENfODlfRTRfQjhfOEJfRTZfOTdfQjZfRTVfODhfQkIgLSBfRTRfQkFfQUVfRTdfODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-2 眼疾手快-随机时间反应.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-2 眼疾手快-随机时间反应.mix index af810da2..26eb3775 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-2 眼疾手快-随机时间反应.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-2-2 眼疾手快-随机时间反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUEs1float1221亮灯时刻mstrueB1key20按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=fODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSkK \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUEs1float1221亮灯时刻mstrueB1key20按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=fODFfQUZfRTZfOTdfQjZfRTVfODhfQkIpKSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-1 眼疾手快-随机时间随机灯反应.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-1 眼疾手快-随机时间随机灯反应.mix index 0591a70c..04b1b2d8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-1 眼疾手快-随机时间随机灯反应.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-1 眼疾手快-随机时间随机灯反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mss11亮灯编号0{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mss11亮灯编号0{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-2 眼疾手快-等待用户输入.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-2 眼疾手快-等待用户输入.mix index db6e9ee4..eabe0000 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-2 眼疾手快-等待用户输入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-3-2 眼疾手快-等待用户输入.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCg==wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻ms{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCuS6rueBr+e8luWPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgxLCAyKSkpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCg==wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgX0U2XzhDXzg5X0U0X0I4XzhCX0U2Xzk3X0I2X0U1Xzg4X0JCID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-1 眼疾手快-输出用户反应.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-1 眼疾手快-输出用户反应.mix index 19b019f5..a0e07225 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-1 眼疾手快-输出用户反应.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-1 眼疾手快-输出用户反应.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B1keyANDEQ亮灯编号2B2keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEinformatio_picture.NOTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IE5PCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKkX21hdHJpeC5TQUQpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B1keyANDEQ亮灯编号2B2keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEinformatio_picture.NOTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IE5PCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKkX21hdHJpeC5TQUQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-2 眼疾手快-换别的按键.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-2 眼疾手快-换别的按键.mix index 0d00524a..a92bd73c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-2 眼疾手快-换别的按键.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/3-4-2 眼疾手快-换别的按键.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B2keyANDEQ亮灯编号2B1keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEinformatio_picture.NOTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IE5PCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKkX21hdHJpeC5TQUQpCg== \ No newline at end of file +亮灯时刻0按下时刻0亮灯编号0WHILETRUE亮灯编号int12s1float121亮灯编号1亮灯时刻mstrueORB1keyB2key1020按下时刻msORANDEQ亮灯编号1B2keyANDEQ亮灯编号2B1keyTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEinformatio_picture.NOTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IE5PCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmICjkuq7nga/nvJblj7cgPT0gMSBhbmQgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpIG9yICjkuq7nga/nvJblj7cgPT0gMiBhbmQgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKkX21hdHJpeC5TQUQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-1 四平八稳-加速度测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-1 四平八稳-加速度测试.mix index f0e9330b..61527f8d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-1 四平八稳-加速度测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-1 四平八稳-加速度测试.mix @@ -1 +1 @@ -WHILETRUEMixlys0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +WHILETRUEMixlys0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-2 四平八稳-LED屏幕测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-2 四平八稳-LED屏幕测试.mix index 222ed8bb..d19f9e50 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-2 四平八稳-LED屏幕测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-2 四平八稳-LED屏幕测试.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30121xs0.1FALSEfill_rect20MULTIPLY10x201202015255,255,0#ffffffTRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIGZvciB4IGluIHJhbmdlKDAsIDEyLCAxKToKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksIDEyMCwgMjAsIDE1LCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUE0,1,2,30121xs0.1FALSEfill_rect20MULTIPLY10x201202015255,255,0#ffffffTRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIGZvciB4IGluIHJhbmdlKDAsIDEyLCAxKToKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksIDEyMCwgMjAsIDE1LCAweGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-3 四平八稳-X轴平衡仪.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-3 四平八稳-X轴平衡仪.mix index a6724edd..e5f52717 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-3 四平八稳-X轴平衡仪.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-1-3 四平八稳-X轴平衡仪.mix @@ -1 +1 @@ -x6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1FALSEfill_rect20MULTIPLY1x201202015255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCh4ICogMjApLCAxMjAsIDIwLCAxNSwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file +x6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1FALSEfill_rect20MULTIPLY1x201202015255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCh4ICogMjApLCAxMjAsIDIwLCAxNSwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-1 四平八稳-双轴平衡仪.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-1 四平八稳-双轴平衡仪.mix index 2686cc09..6c988f9f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-1 四平八稳-双轴平衡仪.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-1 四平八稳-双轴平衡仪.mix @@ -1 +1 @@ -x6y6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgeSAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgeSArPSAxCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x6y6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgeSAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgeSArPSAxCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-2 四平八稳-双轴约束平衡仪.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-2 四平八稳-双轴约束平衡仪.mix index aeb570b4..4bfdac46 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-2 四平八稳-双轴约束平衡仪.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-2-2 四平八稳-双轴约束平衡仪.mix @@ -1 +1 @@ -x6y6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1x1000x011y1000y011FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgeSAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgMTEpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkKMC4wMToKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgeSAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgMTEpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz0wKQogICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoMTAgKyB4ICogMjApLCAoMTAgKyB5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPTEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x6y6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1x1000x011y1000y011FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgeSAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgMTEpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkKMC4wMToKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgeSAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgeSArPSAxCiAgICB4ID0gbWluKG1heCh4LCAwKSwgMTEpCiAgICB5ID0gbWluKG1heCh5LCAwKSwgMTEpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz0wKQogICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoMTAgKyB4ICogMjApLCAoMTAgKyB5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPTEpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-1 四平八稳-平衡挑战.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-1 四平八稳-平衡挑战.mix index 6686a73a..9b5c875d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-1 四平八稳-平衡挑战.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-1 四平八稳-平衡挑战.mix @@ -1 +1 @@ -x6y6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUEBREAK{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKeCA9IDYKeSA9IDYKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMDE6CiAgICAgICAgeCAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMDE6CiAgICAgICAgeCArPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IC0wLjAxOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjAxOgogICAgICAgIHkgKz0gMQogICAgaWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoeCAqIDIwKSwgKHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgYnJlYWsKWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9MCkKICAgICAgICBvbmJvYXJkX3RmdC5lbGxpcHNlKCgxMCArIHggKiAyMCksICgxMCArIHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9MSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPTEpCiAgICAgICAgYnJlYWsK \ No newline at end of file +x6y6WHILETRUELT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUEBREAK{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKeCA9IDYKeSA9IDYKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMDE6CiAgICAgICAgeCAtPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMDE6CiAgICAgICAgeCArPSAxCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IC0wLjAxOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjAxOgogICAgICAgIHkgKz0gMQogICAgaWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoeCAqIDIwKSwgKHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgYnJlYWsKWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9MCkKICAgICAgICBvbmJvYXJkX3RmdC5lbGxpcHNlKCgxMCArIHggKiAyMCksICgxMCArIHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9MSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPTEpCiAgICAgICAgYnJlYWsK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-2 四平八稳-可重来的平衡挑战.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-2 四平八稳-可重来的平衡挑战.mix index 327509c9..a9e4fe22 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-2 四平八稳-可重来的平衡挑战.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-3-2 四平八稳-可重来的平衡挑战.mix @@ -1 +1 @@ -开始FALSEWHILETRUE开始LT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUE开始FALSEB1key开始TRUEx6y6{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgbWl4Z29fc2FudAoK5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOW8gOWnizoKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjAxOgogICAgICAgICAgICB4IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMDE6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgICAgIHkgLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMC4wMToKICAgICAgICAgICAgeSArPSAxCiAgICAgICAgaWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5lbGxpcHNlKCh4ICogMjApLCAoeSAqIDIwKSwgMTAsIDEwLCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg5byA5aeLID0gRmFsc2UKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgo=CsgeSAqIDIwKSwgMTAsIDEwLCAweGZmZmYsIFRydWUsc3luYz0xKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9MSkKICAgICAgICAgICAg5byA5aeLID0gRmFsc2UKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgo= \ No newline at end of file +开始FALSEWHILETRUE开始LT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUE开始FALSEB1key开始TRUEx6y6{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgbWl4Z29fc2FudAoK5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOW8gOWnizoKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjAxOgogICAgICAgICAgICB4IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuMDE6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgLTAuMDE6CiAgICAgICAgICAgIHkgLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMC4wMToKICAgICAgICAgICAgeSArPSAxCiAgICAgICAgaWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5lbGxpcHNlKCh4ICogMjApLCAoeSAqIDIwKSwgMTAsIDEwLCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg5byA5aeLID0gRmFsc2UKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgo=CsgeSAqIDIwKSwgMTAsIDEwLCAweGZmZmYsIFRydWUsc3luYz0xKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9MSkKICAgICAgICAgICAg5byA5aeLID0gRmFsc2UKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-1 四平八稳-计时平衡大挑战.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-1 四平八稳-计时平衡大挑战.mix index 519d2406..9a8a5684 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-1 四平八稳-计时平衡大挑战.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-1 四平八稳-计时平衡大挑战.mix @@ -1 +1 @@ -开始FALSEWHILETRUE开始LT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1TrueMixlyZHENGCHU1MINUS1ms1开始时间1000TRUE开始FALSEB1key开始TRUEx6y6开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CgrlvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMDE6CiAgICAgICAgICAgIHggLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICAgICAgeCArPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4wMToKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjAxOgogICAgICAgICAgICB5ICs9IDEKICAgICAgICBpZiAwIDw9IHggPD0gMTEgYW5kIDAgPD0geSA8PSAxMToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLnRpY2tzX21zKCkgLSDlvIDlp4vml7bpl7QpIC8vIDEwMCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICDlvIDlp4sgPSBGYWxzZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IFRydWUKICAgICAgICB4ID0gNgogICAgICAgIHkgPSA2CiAgICAgICAg5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg==CAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLnRpY2tzX21zKCkgLSDlvIDlp4vml7bpl7QpIC8vIDEwMCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz0xKQogICAgICAgICAgICDlvIDlp4sgPSBGYWxzZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IFRydWUKICAgICAgICB4ID0gNgogICAgICAgIHkgPSA2CiAgICAgICAg5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +开始FALSEWHILETRUE开始LT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1TrueMixlyZHENGCHU1MINUS1ms1开始时间1000TRUE开始FALSEB1key开始TRUEx6y6开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CgrlvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMDE6CiAgICAgICAgICAgIHggLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4wMToKICAgICAgICAgICAgeCArPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAtMC4wMToKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwLjAxOgogICAgICAgICAgICB5ICs9IDEKICAgICAgICBpZiAwIDw9IHggPD0gMTEgYW5kIDAgPD0geSA8PSAxMToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLnRpY2tzX21zKCkgLSDlvIDlp4vml7bpl7QpIC8vIDEwMCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICDlvIDlp4sgPSBGYWxzZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IFRydWUKICAgICAgICB4ID0gNgogICAgICAgIHkgPSA2CiAgICAgICAg5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg==CAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLnRpY2tzX21zKCkgLSDlvIDlp4vml7bpl7QpIC8vIDEwMCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz0xKQogICAgICAgICAgICDlvIDlp4sgPSBGYWxzZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IFRydWUKICAgICAgICB4ID0gNgogICAgICAgIHkgPSA2CiAgICAgICAg5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-2 四平八稳-随机难度计时平衡大挑战.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-2 四平八稳-随机难度计时平衡大挑战.mix index 714ce954..108d3f90 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-2 四平八稳-随机难度计时平衡大挑战.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期1/4-4-2 四平八稳-随机难度计时平衡大挑战.mix @@ -1 +1 @@ -开始FALSEWHILETRUE开始LT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1DIVIDE11难度TrueMixlyZHENGCHU1MINUS1ms1开始时间1000TRUE开始FALSEB1key难度int110TrueMixly难度等级:Mixlyx难度0TRUEs1FALSE开始TRUEx6y6开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCByYW5kb20KCuW8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDlvIDlp4s6CiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjAxOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IC0wLjAxOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIDAgPD0geCA8PSAxMSBhbmQgMCA8PSB5IDw9IDExOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoeCAqIDIwKSwgKHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgoMSAvIOmavuW6pikpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtumXtCkgLy8gMTAwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIOW8gOWniyA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6Zq+5bqmID0gcmFuZG9tLnJhbmRpbnQoMSwgMTApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mavuW6puetiee6p++8micgKyBzdHIo6Zq+5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgogICAgICAgIOW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +开始FALSEWHILETRUE开始LT[0]-0.01MINUSx1GT[0]0.01ADDx1LT[1]-0.01MINUSy1GT[1]0.01ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1DIVIDE11难度TrueMixlyZHENGCHU1MINUS1ms1开始时间1000TRUE开始FALSEB1key难度int110TrueMixly难度等级:Mixlyx难度0TRUEs1FALSE开始TRUEx6y6开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCByYW5kb20KCuW8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDlvIDlp4s6CiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC4wMToKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjAxOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IC0wLjAxOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDAuMDE6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIDAgPD0geCA8PSAxMSBhbmQgMCA8PSB5IDw9IDExOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoeCAqIDIwKSwgKHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgoMSAvIOmavuW6pikpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtumXtCkgLy8gMTAwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIOW8gOWniyA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6Zq+5bqmID0gcmFuZG9tLnJhbmRpbnQoMSwgMTApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mavuW6puetiee6p++8micgKyBzdHIo6Zq+5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgogICAgICAgIOW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-0 分秒必争-延时误差分析.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-0 分秒必争-延时误差分析.mix index 35faec90..3bf11449 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-0 分秒必争-延时误差分析.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-0 分秒必争-延时误差分析.mix @@ -1 +1 @@ -WHILETRUEs1Mixlyms{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICBwcmludCh0aW1lLnRpY2tzX21zKCkpCg== \ No newline at end of file +WHILETRUEs1Mixlyms{}aW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICBwcmludCh0aW1lLnRpY2tzX21zKCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-1 分秒必争-定制中断测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-1 分秒必争-定制中断测试.mix index 8ef42fee..8faf09d9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-1 分秒必争-定制中断测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-1 分秒必争-定制中断测试.mix @@ -1 +1 @@ -timtimPERIODICtim1000tim_callbackWHILETRUEtim_callbackms{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHByaW50KHRpbWUudGlja3NfbXMoKSkKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgcGFzcwo=ode>= \ No newline at end of file +timtimPERIODICtim1000tim_callbackWHILETRUEtim_callbackms{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIHByaW50KHRpbWUudGlja3NfbXMoKSkKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgcGFzcwo=ode>= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-2 分秒必争-简单计时器.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-2 分秒必争-简单计时器.mix index b15e557c..c03d9a1c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-2 分秒必争-简单计时器.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-1-2 分秒必争-简单计时器.mix @@ -1 +1 @@ -tim计时0timPERIODICtim100tim_callbacktim_callback计时ADD计时1WHILETRUETrueMixly计时0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAg6K6h5pe2ICs9IDEKCgrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +tim计时0timPERIODICtim100tim_callbacktim_callback计时ADD计时1WHILETRUETrueMixly计时0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAg6K6h5pe2ICs9IDEKCgrorqHml7YgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-1 分秒必争-可开始暂停计时器.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-1 分秒必争-可开始暂停计时器.mix index 479819d8..cfedcb7f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-1 分秒必争-可开始暂停计时器.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-1 分秒必争-可开始暂停计时器.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始TrueMixly计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gbm90IOW8gOWniwogICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始TrueMixly计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gbm90IOW8gOWniwogICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-2 分秒必争-循环使用计时器.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-2 分秒必争-循环使用计时器.mix index 3fb36349..ec7c04c5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-2 分秒必争-循环使用计时器.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-2-2 分秒必争-循环使用计时器.mix @@ -1 +1 @@ -tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0TrueMixly计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gbm90IOW8gOWniwogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5byA5aeLOgogICAgICAgIOiuoeaXtiA9IDAKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOiuoeaXtiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +tim开始FALSE计时0timPERIODICtim100tim_callbackWHILETRUEB1key开始开始ANDB2key开始计时0TrueMixly计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gbm90IOW8gOWniwogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5byA5aeLOgogICAgICAgIOiuoeaXtiA9IDAKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOiuoeaXtiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-1 分秒必争-精度改变计时器.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-1 分秒必争-精度改变计时器.mix index a5f6ef01..f31c533a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-1 分秒必争-精度改变计时器.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-1 分秒必争-精度改变计时器.mix @@ -1 +1 @@ -tim开始FALSE计时0计时间隔10,100,500,1000间隔序号0timWHILETRUEB1key开始开始开始PERIODICtim100计时间隔计时间隔间隔序号间隔序号tim_callback开始A3key间隔序号QUYU1ADD1间隔序号14B2key计时0TrueMixly{}:{}计时间隔计时间隔间隔序号间隔序号计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArorqHml7bpl7TpmpQgPSBbMTAsMTAwLDUwMCwxMDAwXQrpl7TpmpTluo/lj7cgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCiAgICAgICAgaWYg5byA5aeLOgogICAgICAgICAgICB0aW0uaW5pdChwZXJpb2QgPSDorqHml7bpl7TpmpRb6Ze06ZqU5bqP5Y+3XSwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCiAgICBpZiBub3Qg5byA5aeLOgogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6Ze06ZqU5bqP5Y+3ID0gKOmXtOmalOW6j+WPtyArIDEpICUgNAogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe2ID0gMAogICAgb25ib2FyZF90ZnQuc2hvd3MoJ3t9Ont9Jy5mb3JtYXQo6K6h5pe26Ze06ZqUW+mXtOmalOW6j+WPt10sIOiuoeaXtiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +tim开始FALSE计时0计时间隔10,100,500,1000间隔序号0timWHILETRUEB1key开始开始开始PERIODICtim100计时间隔计时间隔间隔序号间隔序号tim_callback开始A3key间隔序号QUYU1ADD1间隔序号14B2key计时0TrueMixly{}:{}计时间隔计时间隔间隔序号间隔序号计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArorqHml7bpl7TpmpQgPSBbMTAsMTAwLDUwMCwxMDAwXQrpl7TpmpTluo/lj7cgPSAwCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCiAgICAgICAgaWYg5byA5aeLOgogICAgICAgICAgICB0aW0uaW5pdChwZXJpb2QgPSDorqHml7bpl7TpmpRb6Ze06ZqU5bqP5Y+3XSwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCiAgICBpZiBub3Qg5byA5aeLOgogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6Ze06ZqU5bqP5Y+3ID0gKOmXtOmalOW6j+WPtyArIDEpICUgNAogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe2ID0gMAogICAgb25ib2FyZF90ZnQuc2hvd3MoJ3t9Ont9Jy5mb3JtYXQo6K6h5pe26Ze06ZqUW+mXtOmalOW6j+WPt10sIOiuoeaXtiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-2 分秒必争-显示改变精度计时器.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-2 分秒必争-显示改变精度计时器.mix index c6609d62..1bda6e22 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-2 分秒必争-显示改变精度计时器.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-3-2 分秒必争-显示改变精度计时器.mix @@ -1 +1 @@ -tim开始FALSE计时0计时间隔100timWHILETRUEB1key开始开始开始PERIODICtim100计时间隔tim_callback开始TrueMixly计时0TRUEB2key计时0TrueMixly计时0TRUEA1key计时间隔10TrueMixly计时间隔:Mixlyx计时间隔0TRUEA3key计时间隔100TrueMixly计时间隔:Mixlyx计时间隔0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArorqHml7bpl7TpmpQgPSAxMDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IG5vdCDlvIDlp4sKICAgICAgICBpZiDlvIDlp4s6CiAgICAgICAgICAgIHRpbS5pbml0KHBlcmlvZCA9IOiuoeaXtumXtOmalCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCiAgICBpZiDlvIDlp4s6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe2ID0gMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOiuoeaXtumXtOmalCA9IDEwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCforqHml7bpl7TpmpTvvJonICsgc3RyKOiuoeaXtumXtOmalCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOiuoeaXtumXtOmalCA9IDEwMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K6h5pe26Ze06ZqU77yaJyArIHN0cijorqHml7bpl7TpmpQpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +tim开始FALSE计时0计时间隔100timWHILETRUEB1key开始开始开始PERIODICtim100计时间隔tim_callback开始TrueMixly计时0TRUEB2key计时0TrueMixly计时0TRUEA1key计时间隔10TrueMixly计时间隔:Mixlyx计时间隔0TRUEA3key计时间隔100TrueMixly计时间隔:Mixlyx计时间隔0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArorqHml7bpl7TpmpQgPSAxMDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IG5vdCDlvIDlp4sKICAgICAgICBpZiDlvIDlp4s6CiAgICAgICAgICAgIHRpbS5pbml0KHBlcmlvZCA9IOiuoeaXtumXtOmalCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCiAgICBpZiDlvIDlp4s6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe2ID0gMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOiuoeaXtumXtOmalCA9IDEwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCforqHml7bpl7TpmpTvvJonICsgc3RyKOiuoeaXtumXtOmalCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOiuoeaXtumXtOmalCA9IDEwMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K6h5pe26Ze06ZqU77yaJyArIHN0cijorqHml7bpl7TpmpQpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-1 分秒必争-抢7游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-1 分秒必争-抢7游戏.mix index 71be89b8..f2d313ac 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-1 分秒必争-抢7游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-1 分秒必争-抢7游戏.mix @@ -1 +1 @@ -tim开始FALSE计时0计时间隔100timWHILETRUEB1key开始开始开始PERIODICtim100计时间隔tim_callbackEQQUYU1计时107informatio_picture.YESTRUEinformatio_picture.NOTRUE开始TrueMixly计时0TRUEB2key计时0TrueMixly计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IFlFUwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArorqHml7bpl7TpmpQgPSAxMDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IG5vdCDlvIDlp4sKICAgICAgICBpZiDlvIDlp4s6CiAgICAgICAgICAgIHRpbS5pbml0KHBlcmlvZCA9IOiuoeaXtumXtOmalCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg6K6h5pe2ICUgMTAgPT0gNzoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFlFUywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYg5byA5aeLOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOiuoeaXtiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOiuoeaXtiA9IDAKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +tim开始FALSE计时0计时间隔100timWHILETRUEB1key开始开始开始PERIODICtim100计时间隔tim_callbackEQQUYU1计时107informatio_picture.YESTRUEinformatio_picture.NOTRUE开始TrueMixly计时0TRUEB2key计时0TrueMixly计时0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IFlFUwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArorqHml7bpl7TpmpQgPSAxMDAKdGltID0gbWFjaGluZS5UaW1lcigwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IG5vdCDlvIDlp4sKICAgICAgICBpZiDlvIDlp4s6CiAgICAgICAgICAgIHRpbS5pbml0KHBlcmlvZCA9IOiuoeaXtumXtOmalCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg6K6h5pe2ICUgMTAgPT0gNzoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKFlFUywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYg5byA5aeLOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOiuoeaXtiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOiuoeaXtiA9IDAKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-2 分秒必争-可变难度抢7游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-2 分秒必争-可变难度抢7游戏.mix index cfa75676..a1806536 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-2 分秒必争-可变难度抢7游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/1-4-2 分秒必争-可变难度抢7游戏.mix @@ -1 +1 @@ -tim开始FALSE计时0难度1timWHILETRUEB1key开始开始开始PERIODICtim100ZHENGCHU1001难度tim_callbackEQQUYU1计时107informatio_picture.YESTRUEinformatio_picture.NOTRUE开始TrueMixly计时0TRUEB2key计时0TrueMixly计时0TRUEA1key难度1TrueMixly难度:Mixlyx难度0TRUEA2key难度2TrueMixly难度:Mixlyx难度0TRUEA3key难度3TrueMixly难度:Mixlyx难度0TRUEA4key难度4TrueMixly难度:Mixlyx难度0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IFlFUwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArpmr7luqYgPSAxCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCiAgICAgICAgaWYg5byA5aeLOgogICAgICAgICAgICB0aW0uaW5pdChwZXJpb2QgPSAxMDAgLy8g6Zq+5bqmLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiDorqHml7YgJSAxMCA9PSA3OgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiDlvIDlp4s6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe2ID0gMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmavuW6piA9IDEKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mavuW6pu+8micgKyBzdHIo6Zq+5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6Zq+5bqmID0gMgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Zq+5bqm77yaJyArIHN0cijpmr7luqYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpmr7luqYgPSAzCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpmr7luqbvvJonICsgc3RyKOmavuW6piksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmavuW6piA9IDQKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mavuW6pu+8micgKyBzdHIo6Zq+5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +tim开始FALSE计时0难度1timWHILETRUEB1key开始开始开始PERIODICtim100ZHENGCHU1001难度tim_callbackEQQUYU1计时107informatio_picture.YESTRUEinformatio_picture.NOTRUE开始TrueMixly计时0TRUEB2key计时0TrueMixly计时0TRUEA1key难度1TrueMixly难度:Mixlyx难度0TRUEA2key难度2TrueMixly难度:Mixlyx难度0TRUEA3key难度3TrueMixly难度:Mixlyx难度0TRUEA4key难度4TrueMixly难度:Mixlyx难度0TRUEtim_callback计时开始开始ADDa计时1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IFlFUwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOiuoeaXtgogICAgZ2xvYmFsIOW8gOWniwogICAgaWYg5byA5aeLOgogICAgICAgIOiuoeaXtiArPSAxCgoK5byA5aeLID0gRmFsc2UK6K6h5pe2ID0gMArpmr7luqYgPSAxCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBub3Qg5byA5aeLCiAgICAgICAgaWYg5byA5aeLOgogICAgICAgICAgICB0aW0uaW5pdChwZXJpb2QgPSAxMDAgLy8g6Zq+5bqmLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiDorqHml7YgJSAxMCA9PSA3OgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiDlvIDlp4s6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6K6h5pe2LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe2ID0gMAogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjorqHml7YsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmavuW6piA9IDEKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mavuW6pu+8micgKyBzdHIo6Zq+5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6Zq+5bqmID0gMgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Zq+5bqm77yaJyArIHN0cijpmr7luqYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpmr7luqYgPSAzCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpmr7luqbvvJonICsgc3RyKOmavuW6piksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmavuW6piA9IDQKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mavuW6pu+8micgKyBzdHIo6Zq+5bqmKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-1 井然有序-一向路口红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-1 井然有序-一向路口红绿灯.mix index 2cb09b3c..67ae0494 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-1 井然有序-一向路口红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-1 井然有序-一向路口红绿灯.mix @@ -1 +1 @@ -WHILETRUE00300s2030300s0.503000s2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file +WHILETRUE00300s2030300s0.503000s2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-2 井然有序-十字路口红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-2 井然有序-十字路口红绿灯.mix index 8aa0208a..de72bf8d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-2 井然有序-十字路口红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-1-2 井然有序-十字路口红绿灯.mix @@ -1 +1 @@ -WHILETRUE0030033000s203030033000s0.50300030300s1.5330300s0.5{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiWzNdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgyKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDEuNSkKICAgIG9uYm9hcmRfcmdiWzNdID0gKDMwLCAzMCwgMCkKICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file +WHILETRUE0030033000s203030033000s0.50300030300s1.5330300s0.5{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiWzNdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgyKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDEuNSkKICAgIG9uYm9hcmRfcmdiWzNdID0gKDMwLCAzMCwgMCkKICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-1 井然有序-计时红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-1 井然有序-计时红绿灯.mix index dd5f17de..994c4e78 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-1 井然有序-计时红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-1 井然有序-计时红绿灯.mix @@ -1 +1 @@ -WHILETRUE003000,1,2,39-1-1is0.2TrueMixlyi0TRUE030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUE003000,1,2,39-1-1is0.2TrueMixlyi0TRUE030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-2 井然有序-计时闪烁红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-2 井然有序-计时闪烁红绿灯.mix index e4e4a748..76a99655 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-2 井然有序-计时闪烁红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-2-2 井然有序-计时闪烁红绿灯.mix @@ -1 +1 @@ -序号RGBWHILETRUE003000,1,2,393-1is0.2TrueMixlyi0TRUE0,1,2,33-1-1i00300s0.1TrueMixlyi0TRUE0000s0.1030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE设置RGB灯0序号0R0G0B{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYg6K6+572uUkdC54GvKOW6j+WPtywgUiwgRywgQik6CiAgICBvbmJvYXJkX3JnYlvluo/lj7ddID0gKFIsIEcsIEIpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKd2hpbGUgVHJ1ZToKICAgIOiuvue9rlJHQueBrygwLCAwLCAzMCwgMCkKICAgIGZvciBpIGluIHJhbmdlKDksIDMsIC0xKToKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBmb3IgaSBpbiByYW5nZSgzLCAtMSwgLTEpOgogICAgICAgIOiuvue9rlJHQueBrygwLCAwLCAzMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6K6+572uUkdC54GvKDAsIDAsIDAsIDApCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +序号RGBWHILETRUE003000,1,2,393-1is0.2TrueMixlyi0TRUE0,1,2,33-1-1i00300s0.1TrueMixlyi0TRUE0000s0.1030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE设置RGB灯0序号0R0G0B{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYg6K6+572uUkdC54GvKOW6j+WPtywgUiwgRywgQik6CiAgICBvbmJvYXJkX3JnYlvluo/lj7ddID0gKFIsIEcsIEIpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoKd2hpbGUgVHJ1ZToKICAgIOiuvue9rlJHQueBrygwLCAwLCAzMCwgMCkKICAgIGZvciBpIGluIHJhbmdlKDksIDMsIC0xKToKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBmb3IgaSBpbiByYW5nZSgzLCAtMSwgLTEpOgogICAgICAgIOiuvue9rlJHQueBrygwLCAwLCAzMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6K6+572uUkdC54GvKDAsIDAsIDAsIDApCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-1 井然有序-无障碍红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-1 井然有序-无障碍红绿灯.mix index 8dedaa42..19d5c75b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-1 井然有序-无障碍红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-1 井然有序-无障碍红绿灯.mix @@ -1 +1 @@ -序号RGBWHILETRUE003000,1,2,39-1-1i440150ms150TrueMixlyi0TRUE030300s0.5030000,1,2,39-1-1i440400ms400TrueMixlyi0TRUE设置RGB灯0序号0R0G0B{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rlJHQueBryjluo/lj7csIFIsIEcsIEIpOgogICAgb25ib2FyZF9yZ2Jb5bqP5Y+3XSA9IChSLCBHLCBCKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMCwgMzAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg0NDAsIDE1MCkKICAgICAgICB0aW1lLnNsZWVwX21zKDE1MCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg0NDAsIDQwMCkKICAgICAgICB0aW1lLnNsZWVwX21zKDQwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg==gMCkKICAgIGZvciBpIGluIHJhbmdlKDksIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlKQogICAg6K6+572uUkdC54GvKDAsIDMwLCAzMCwgMCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBpZiBpICUgMiA9PSAwOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAyMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCg== \ No newline at end of file +序号RGBWHILETRUE003000,1,2,39-1-1i440150ms150TrueMixlyi0TRUE030300s0.5030000,1,2,39-1-1i440400ms400TrueMixlyi0TRUE设置RGB灯0序号0R0G0B{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rlJHQueBryjluo/lj7csIFIsIEcsIEIpOgogICAgb25ib2FyZF9yZ2Jb5bqP5Y+3XSA9IChSLCBHLCBCKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMCwgMzAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg0NDAsIDE1MCkKICAgICAgICB0aW1lLnNsZWVwX21zKDE1MCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg0NDAsIDQwMCkKICAgICAgICB0aW1lLnNsZWVwX21zKDQwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg==gMCkKICAgIGZvciBpIGluIHJhbmdlKDksIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlKQogICAg6K6+572uUkdC54GvKDAsIDMwLCAzMCwgMCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBpZiBpICUgMiA9PSAwOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAyMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-2 井然有序-无障碍红绿灯有带黄色.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-2 井然有序-无障碍红绿灯有带黄色.mix index 2bbf7c7d..676f76a1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-2 井然有序-无障碍红绿灯有带黄色.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-3-2 井然有序-无障碍红绿灯有带黄色.mix @@ -1 +1 @@ -序号RGBWHILETRUE003000,1,2,39-1-1i440150ms150TrueMixlyi0TRUE0303000,1,2,39-1-1i440130s0.05030000,1,2,39-1-1i440400ms400TrueMixlyi0TRUE设置RGB灯0序号0R0G0B{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rlJHQueBryjluo/lj7csIFIsIEcsIEIpOgogICAgb25ib2FyZF9yZ2Jb5bqP5Y+3XSA9IChSLCBHLCBCKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMCwgMzAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg0NDAsIDE1MCkKICAgICAgICB0aW1lLnNsZWVwX21zKDE1MCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMzApCiAgICAgICAgdGltZS5zbGVlcCgwLjA1KQogICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCA0MDApCiAgICAgICAgdGltZS5zbGVlcF9tcyg0MDApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=ICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlKQogICAg6K6+572uUkdC54GvKDAsIDMwLCAzMCwgMCkKICAgIGZvciBpIGluIHJhbmdlKDksIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgNTApCiAgICAgICAgdGltZS5zbGVlcCgwLjA1KQogICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBpZiBpICUgMiA9PSAwOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAyMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCg== \ No newline at end of file +序号RGBWHILETRUE003000,1,2,39-1-1i440150ms150TrueMixlyi0TRUE0303000,1,2,39-1-1i440130s0.05030000,1,2,39-1-1i440400ms400TrueMixlyi0TRUE设置RGB灯0序号0R0G0B{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rlJHQueBryjluo/lj7csIFIsIEcsIEIpOgogICAgb25ib2FyZF9yZ2Jb5bqP5Y+3XSA9IChSLCBHLCBCKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMCwgMzAsIDApCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg0NDAsIDE1MCkKICAgICAgICB0aW1lLnNsZWVwX21zKDE1MCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAxMzApCiAgICAgICAgdGltZS5zbGVlcCgwLjA1KQogICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCA0MDApCiAgICAgICAgdGltZS5zbGVlcF9tcyg0MDApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=ICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlKQogICAg6K6+572uUkdC54GvKDAsIDMwLCAzMCwgMCkKICAgIGZvciBpIGluIHJhbmdlKDksIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDQ0MCwgNTApCiAgICAgICAgdGltZS5zbGVlcCgwLjA1KQogICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBpZiBpICUgMiA9PSAwOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNDQwLCAyMDApCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-1 井然有序-受控红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-1 井然有序-受控红绿灯.mix index 6d7f5e74..15ccf1f0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-1 井然有序-受控红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-1 井然有序-受控红绿灯.mix @@ -1 +1 @@ -序号RGBWHILETRUE0300030300B1key03000330300s0.50030033000s1.503030033000s0.5设置RGB灯0序号0R0G0B{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDorr7nva5SR0Lnga8o5bqP5Y+3LCBSLCBHLCBCKToKICAgIG9uYm9hcmRfcmdiW+W6j+WPt10gPSAoUiwgRywgQikKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKd2hpbGUgVHJ1ZToKICAgIOiuvue9rlJHQueBrygwLCAzMCwgMCwgMCkKICAgIOiuvue9rlJHQueBrygzLCAwLCAzMCwgMCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAzMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICDorr7nva5SR0Lnga8oMCwgMCwgMzAsIDApCiAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgIOiuvue9rlJHQueBrygwLCAzMCwgMzAsIDApCiAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file +序号RGBWHILETRUE0300030300B1key03000330300s0.50030033000s1.503030033000s0.5设置RGB灯0序号0R0G0B{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDorr7nva5SR0Lnga8o5bqP5Y+3LCBSLCBHLCBCKToKICAgIG9uYm9hcmRfcmdiW+W6j+WPt10gPSAoUiwgRywgQikKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoKd2hpbGUgVHJ1ZToKICAgIOiuvue9rlJHQueBrygwLCAzMCwgMCwgMCkKICAgIOiuvue9rlJHQueBrygzLCAwLCAzMCwgMCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAzMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICDorr7nva5SR0Lnga8oMCwgMCwgMzAsIDApCiAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgIHRpbWUuc2xlZXAoMS41KQogICAgICAgIOiuvue9rlJHQueBrygwLCAzMCwgMzAsIDApCiAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-2 井然有序-有约束的受控红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-2 井然有序-有约束的受控红绿灯.mix index 4a266c35..701bde15 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-2 井然有序-有约束的受控红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/2-4-2 井然有序-有约束的受控红绿灯.mix @@ -1 +1 @@ -序号RGB上次按下时刻msWHILETRUE0300030300B1keyGTMINUS1ms1上次按下时刻5000上次按下时刻ms03000330300s0.50030033000s1.503030033000s0.5设置RGB灯0序号0R0G0B{}aW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDorr7nva5SR0Lnga8o5bqP5Y+3LCBSLCBHLCBCKToKICAgIG9uYm9hcmRfcmdiW+W6j+WPt10gPSAoUiwgRywgQikKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoK5LiK5qyh5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICDorr7nva5SR0Lnga8oMywgMCwgMzAsIDApCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5LiK5qyh5oyJ5LiL5pe25Yi7ID4gNTAwMDoKICAgICAgICAgICAg5LiK5qyh5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgICAgIOiuvue9rlJHQueBrygwLCAzMCwgMCwgMCkKICAgICAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAzMCwgMCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgICAgIOiuvue9rlJHQueBrygwLCAwLCAzMCwgMCkKICAgICAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEuNSkKICAgICAgICAgICAg6K6+572uUkdC54GvKDAsIDMwLCAzMCwgMCkKICAgICAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +序号RGB上次按下时刻msWHILETRUE0300030300B1keyGTMINUS1ms1上次按下时刻5000上次按下时刻ms03000330300s0.50030033000s1.503030033000s0.5设置RGB灯0序号0R0G0B{}aW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDorr7nva5SR0Lnga8o5bqP5Y+3LCBSLCBHLCBCKToKICAgIG9uYm9hcmRfcmdiW+W6j+WPt10gPSAoUiwgRywgQikKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgoK5LiK5qyh5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICDorr7nva5SR0Lnga8oMywgMCwgMzAsIDApCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5LiK5qyh5oyJ5LiL5pe25Yi7ID4gNTAwMDoKICAgICAgICAgICAg5LiK5qyh5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgICAgIOiuvue9rlJHQueBrygwLCAzMCwgMCwgMCkKICAgICAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAzMCwgMCkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgICAgIOiuvue9rlJHQueBrygwLCAwLCAzMCwgMCkKICAgICAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEuNSkKICAgICAgICAgICAg6K6+572uUkdC54GvKDAsIDMwLCAzMCwgMCkKICAgICAgICAgICAg6K6+572uUkdC54GvKDMsIDMwLCAwLCAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-1 声音重现-看见声音.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-1 声音重现-看见声音.mix index b3fbcdb0..6e5cdd93 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-1 声音重现-看见声音.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-1 声音重现-看见声音.mix @@ -1 +1 @@ -WHILETRUE238023850intx50060000239255,255,0#3366ffFALSEshift_left1TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMCwgMjM4LCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCA2MDAwLCAwLCAyMzkpKSksIDB4MzMzZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkKet" id="4r20VqO`(/m07i!}a-1S">#ffffff{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwKQogICAgb25ib2FyZF90ZnQuc2hvdygpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyMzksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMCwgeCwgaW50KChtYXRoX21hcChvbmJvYXJkX3NvdW5kLnJlYWQoKSwgMCwgNjAwMCwgMCwgMjM5KSkpLCAweGZmZmYpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvdygpCg== \ No newline at end of file +WHILETRUE238023850intx50060000239255,255,0#3366ffFALSEshift_left1TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMCwgMjM4LCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCA2MDAwLCAwLCAyMzkpKSksIDB4MzMzZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkKet" id="4r20VqO`(/m07i!}a-1S">#ffffff{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwKQogICAgb25ib2FyZF90ZnQuc2hvdygpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyMzksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMCwgeCwgaW50KChtYXRoX21hcChvbmJvYXJkX3NvdW5kLnJlYWQoKSwgMCwgNjAwMCwgMCwgMjM5KSkpLCAweGZmZmYpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvdygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-2 声音重现-正向看见声音.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-2 声音重现-正向看见声音.mix index f6b8c8e8..d64da41f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-2 声音重现-正向看见声音.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-1-2 声音重现-正向看见声音.mix @@ -1 +1 @@ -WHILETRUE23823823850MINUS2381intx50060000238255,255,0#ffffffFALSEshift_left1TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMjM4LCAyMzgsICgyMzggLSBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCA2MDAwLCAwLCAyMzgpKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCg==(/m07i!}a-1S">#ffffff{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwKQogICAgb25ib2FyZF90ZnQuc2hvdygpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyMzksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMjM5LCB4LCAoMjM5IC0gaW50KChtYXRoX21hcChvbmJvYXJkX3NvdW5kLnJlYWQoKSwgMCwgNjAwMCwgMCwgMjM5KSkpKSwgMHhmZmZmKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3coKQo= \ No newline at end of file +WHILETRUE23823823850MINUS2381intx50060000238255,255,0#ffffffFALSEshift_left1TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMjM4LCAyMzgsICgyMzggLSBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCA2MDAwLCAwLCAyMzgpKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCg==(/m07i!}a-1S">#ffffff{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwKQogICAgb25ib2FyZF90ZnQuc2hvdygpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyMzksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMjM5LCB4LCAoMjM5IC0gaW50KChtYXRoX21hcChvbmJvYXJkX3NvdW5kLnJlYWQoKSwgMCwgNjAwMCwgMCwgMjM5KSkpKSwgMHhmZmZmKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-1 声音重现-文件写入.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-1 声音重现-文件写入.mix index 923792bf..90841622 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-1 声音重现-文件写入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-1 声音重现-文件写入.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,3010001iMixlyxifMixly10ff10{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTAwMCwgMSk6CiAgICAgICAgICAgIGYud3JpdGUoc3RyKGkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,3010001iMixlyxifMixly10ff10{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTAwMCwgMSk6CiAgICAgICAgICAgIGYud3JpdGUoc3RyKGkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-2 声音重现-文件读写.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-2 声音重现-文件读写.mix index 61ba7975..00d9c750 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-2 声音重现-文件读写.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-2-2 声音重现-文件读写.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,3010001iMixlyxifMixly10ff10B2key21r/test.txtfsreadlinefWHILETRUEsMixlyssreadlineff20{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWFjaGluZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTAwMCwgMSk6CiAgICAgICAgICAgIGYud3JpdGUoc3RyKGkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3InKQogICAgICAgIHMgPSBmLnJlYWRsaW5lKCkKICAgICAgICB3aGlsZSBzOgogICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgIHMgPSBmLnJlYWRsaW5lKCkKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,3010001iMixlyxifMixly10ff10B2key21r/test.txtfsreadlinefWHILETRUEsMixlyssreadlineff20{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWFjaGluZQoKCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTAwMCwgMSk6CiAgICAgICAgICAgIGYud3JpdGUoc3RyKGkpKQogICAgICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3InKQogICAgICAgIHMgPSBmLnJlYWRsaW5lKCkKICAgICAgICB3aGlsZSBzOgogICAgICAgICAgICBwcmludChzLGVuZCA9IiIpCiAgICAgICAgICAgIHMgPSBmLnJlYWRsaW5lKCkKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-1 声音重现-录音采集.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-1 声音重现-录音采集.mix index d5ba8c5a..2c5e791c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-1 声音重现-录音采集.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-1 声音重现-录音采集.mix @@ -1 +1 @@ -WHILETRUEB1key11w/test.txtf0,1,2,3010001xd23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZiA9IG9wZW4oJy90ZXN0LnR4dCcsICd3JykKICAgICAgICBmb3IgeCBpbiByYW5nZSgwLCAxMDAwLCAxKToKICAgICAgICAgICAgZCA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoMjM4LCAyMzgsIDIzOCwgKDIzOSAtIGludCgobWF0aF9tYXAoZCwgMCwgNjAwMCwgMCwgMjM5KSkpKSwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgICAgIGYud3JpdGUoc3RyKGludChkKSkpCiAgICAgICAgICAgIGYud3JpdGUoY2hyKDEwKSkKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +WHILETRUEB1key11w/test.txtf0,1,2,3010001xd23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxintxdfMixly10ff10{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZiA9IG9wZW4oJy90ZXN0LnR4dCcsICd3JykKICAgICAgICBmb3IgeCBpbiByYW5nZSgwLCAxMDAwLCAxKToKICAgICAgICAgICAgZCA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoMjM4LCAyMzgsIDIzOCwgKDIzOSAtIGludCgobWF0aF9tYXAoZCwgMCwgNjAwMCwgMCwgMjM5KSkpKSwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgICAgIGYud3JpdGUoc3RyKGludChkKSkpCiAgICAgICAgICAgIGYud3JpdGUoY2hyKDEwKSkKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-2 声音重现-录音重现.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-2 声音重现-录音重现.mix index 38296eac..b8a096c6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-2 声音重现-录音重现.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-3-2 声音重现-录音重现.mix @@ -1 +1 @@ -录音TRUE11w/test.txtf0,1,2,3010001xd23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxintxdfMixly10ff10重现TRUE21r/test.txtf0,1,2,3010001xsreadlinefsdintxs23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEfException as ee20WHILETRUEB1keyB2key{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9zb3VuZApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWl4Z29fc2FudAoKZGVmIOW9lemfsygpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMDAwLCAxKToKICAgICAgICBkID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMjM4LCAyMzgsICgyMzkgLSBpbnQoKG1hdGhfbWFwKGQsIDAsIDYwMDAsIDAsIDIzOSkpKSksIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgZi53cml0ZShzdHIoaW50KGQpKSkKICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICBmLmNsb3NlKCkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKCmRlZiDph43njrAoKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB0cnk6CiAgICAgICAgZiA9IG9wZW4oJy90ZXN0LnR4dCcsICdyJykKICAgICAgICBmb3IgeCBpbiByYW5nZSgwLCAxMDAwLCAxKToKICAgICAgICAgICAgcyA9IGYucmVhZGxpbmUoKQogICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgZCA9IGludChzKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQubGluZSgyMzgsIDIzOCwgMjM4LCAoMjM5IC0gaW50KChtYXRoX21hcChkLCAwLCA2MDAwLCAwLCAyMzkpKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgZi5jbG9zZSgpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoZSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW9lemfsygpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6YeN546wKCkK \ No newline at end of file +录音TRUE11w/test.txtf0,1,2,3010001xd23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxintxdfMixly10ff10重现TRUE21r/test.txtf0,1,2,3010001xsreadlinefsdintxs23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEfException as ee20WHILETRUEB1keyB2key{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9zb3VuZApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcAppbXBvcnQgbWFjaGluZQppbXBvcnQgbWl4Z29fc2FudAoKZGVmIOW9lemfsygpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAxMDAwLCAxKToKICAgICAgICBkID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMjM4LCAyMzgsICgyMzkgLSBpbnQoKG1hdGhfbWFwKGQsIDAsIDYwMDAsIDAsIDIzOSkpKSksIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgZi53cml0ZShzdHIoaW50KGQpKSkKICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICBmLmNsb3NlKCkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKCmRlZiDph43njrAoKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICB0cnk6CiAgICAgICAgZiA9IG9wZW4oJy90ZXN0LnR4dCcsICdyJykKICAgICAgICBmb3IgeCBpbiByYW5nZSgwLCAxMDAwLCAxKToKICAgICAgICAgICAgcyA9IGYucmVhZGxpbmUoKQogICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgZCA9IGludChzKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQubGluZSgyMzgsIDIzOCwgMjM4LCAoMjM5IC0gaW50KChtYXRoX21hcChkLCAwLCA2MDAwLCAwLCAyMzkpKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgZi5jbG9zZSgpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoZSkKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKCgp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW9lemfsygpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6YeN546wKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-1 声音重现-自由录音.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-1 声音重现-自由录音.mix index a685a252..bdd207b7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-1 声音重现-自由录音.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-1 声音重现-自由录音.mix @@ -1 +1 @@ -开始录音FALSEd0WHILETRUEB1key录音计数0开始录音TRUEw/test.txtfB2key开始录音FALSEf开始录音d23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxdfMixly10fADD录音计数110开始录音{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoK5byA5aeL5b2V6Z+zID0gRmFsc2UKZCA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvZXpn7PorqHmlbAgPSAwCiAgICAgICAg5byA5aeL5b2V6Z+zID0gVHJ1ZQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL5b2V6Z+zID0gRmFsc2UKICAgICAgICBmLmNsb3NlKCkKICAgIGlmIOW8gOWni+W9lemfszoKICAgICAgICBkID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMjM4LCAyMzgsICgyMzkgLSBpbnQoKG1hdGhfbWFwKGQsIDAsIDYwMDAsIDAsIDIzOSkpKSksIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgZi53cml0ZShzdHIoZCkpCiAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIOW9lemfs+iuoeaVsCArPSAxCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOW8gOWni+W9lemfsykKKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOW8gOWni+W9lemfsyA9IEZhbHNlCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOW9lemfs+iuoeaVsCA9IDAKICAgICAgICAgICAg5byA5aeL5b2V6Z+zID0gVHJ1ZQogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOW8gOWni+W9lemfsykKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIChkICog5byA5aeL5b2V6Z+zKSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg==G9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDlvZXpn7PorqHmlbAgPSAwCiAgICAgICAgICAgIOW8gOWni+W9lemfsyA9IFRydWUKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQo= \ No newline at end of file +开始录音FALSEd0WHILETRUEB1key录音计数0开始录音TRUEw/test.txtfB2key开始录音FALSEf开始录音d23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxdfMixly10fADD录音计数110开始录音{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoK5byA5aeL5b2V6Z+zID0gRmFsc2UKZCA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvZXpn7PorqHmlbAgPSAwCiAgICAgICAg5byA5aeL5b2V6Z+zID0gVHJ1ZQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL5b2V6Z+zID0gRmFsc2UKICAgICAgICBmLmNsb3NlKCkKICAgIGlmIOW8gOWni+W9lemfszoKICAgICAgICBkID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICBvbmJvYXJkX3RmdC5saW5lKDIzOCwgMjM4LCAyMzgsICgyMzkgLSBpbnQoKG1hdGhfbWFwKGQsIDAsIDYwMDAsIDAsIDIzOSkpKSksIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgZi53cml0ZShzdHIoZCkpCiAgICAgICAgZi53cml0ZShjaHIoMTApKQogICAgICAgIOW9lemfs+iuoeaVsCArPSAxCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOW8gOWni+W9lemfsykKKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOW8gOWni+W9lemfsyA9IEZhbHNlCiAgICAgICAgICAgIGYuY2xvc2UoKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOW9lemfs+iuoeaVsCA9IDAKICAgICAgICAgICAg5byA5aeL5b2V6Z+zID0gVHJ1ZQogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOW8gOWni+W9lemfsykKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIChkICog5byA5aeL5b2V6Z+zKSwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg==G9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDlvZXpn7PorqHmlbAgPSAwCiAgICAgICAgICAgIOW8gOWni+W9lemfsyA9IFRydWUKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgICAgICBmID0gb3BlbignL3Rlc3QudHh0JywgJ3cnKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-2 声音重现-自由重现.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-2 声音重现-自由重现.mix index e82f894a..c6b7296a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-2 声音重现-自由重现.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/3-4-2 声音重现-自由重现.mix @@ -1 +1 @@ -开始录音FALSEd0WHILETRUEB1key录音计数0开始录音TRUEw/test.txtfB2key开始录音FALSEfA1key开始录音d23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxdfMixly10fADD录音计数110开始录音播放声音21r/test.txtfWHILETRUEsreadlinefsdintxs23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEBREAKfException as ee20{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWFjaGluZQoKZGVmIOaSreaUvuWjsOmfsygpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgdHJ5OgogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgcyA9IGYucmVhZGxpbmUoKQogICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgZCA9IGludChzKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQubGluZSgyMzgsIDIzOCwgMjM4LCAoMjM5IC0gaW50KChtYXRoX21hcChkLCAwLCA2MDAwLCAwLCAyMzkpKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGYuY2xvc2UoKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIHByaW50KGUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoK5byA5aeL5b2V6Z+zID0gRmFsc2UKZCA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvZXpn7PorqHmlbAgPSAwCiAgICAgICAg5byA5aeL5b2V6Z+zID0gVHJ1ZQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL5b2V6Z+zID0gRmFsc2UKICAgICAgICBmLmNsb3NlKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmkq3mlL7lo7Dpn7MoKQogICAgaWYg5byA5aeL5b2V6Z+zOgogICAgICAgIGQgPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoMjM4LCAyMzgsIDIzOCwgKDIzOSAtIGludCgobWF0aF9tYXAoZCwgMCwgNjAwMCwgMCwgMjM5KSkpKSwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkKICAgICAgICBmLndyaXRlKHN0cihkKSkKICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAg5b2V6Z+z6K6h5pWwICs9IDEKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEs5byA5aeL5b2V6Z+zKQo= \ No newline at end of file +开始录音FALSEd0WHILETRUEB1key录音计数0开始录音TRUEw/test.txtfB2key开始录音FALSEfA1key开始录音d23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEMixlyxdfMixly10fADD录音计数110开始录音播放声音21r/test.txtfWHILETRUEsreadlinefsdintxs23823823850MINUS2391intx50d060000239255,255,0#ffffffFALSEshift_left1TRUEBREAKfException as ee20{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWFjaGluZQoKZGVmIOaSreaUvuWjsOmfsygpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgdHJ5OgogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAncicpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgcyA9IGYucmVhZGxpbmUoKQogICAgICAgICAgICBpZiBzOgogICAgICAgICAgICAgICAgZCA9IGludChzKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQubGluZSgyMzgsIDIzOCwgMjM4LCAoMjM5IC0gaW50KChtYXRoX21hcChkLCAwLCA2MDAwLCAwLCAyMzkpKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGYuY2xvc2UoKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIHByaW50KGUpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoK5byA5aeL5b2V6Z+zID0gRmFsc2UKZCA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvZXpn7PorqHmlbAgPSAwCiAgICAgICAg5byA5aeL5b2V6Z+zID0gVHJ1ZQogICAgICAgIGYgPSBvcGVuKCcvdGVzdC50eHQnLCAndycpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL5b2V6Z+zID0gRmFsc2UKICAgICAgICBmLmNsb3NlKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmkq3mlL7lo7Dpn7MoKQogICAgaWYg5byA5aeL5b2V6Z+zOgogICAgICAgIGQgPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQogICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoMjM4LCAyMzgsIDIzOCwgKDIzOSAtIGludCgobWF0aF9tYXAoZCwgMCwgNjAwMCwgMCwgMjM5KSkpKSwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkKICAgICAgICBmLndyaXRlKHN0cihkKSkKICAgICAgICBmLndyaXRlKGNocigxMCkpCiAgICAgICAg5b2V6Z+z6K6h5pWwICs9IDEKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEs5byA5aeL5b2V6Z+zKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-1 巧接金雨-显示移动篮子.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-1 巧接金雨-显示移动篮子.mix index d7698e69..b38740af 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-1 巧接金雨-显示移动篮子.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-1 巧接金雨-显示移动篮子.mix @@ -1 +1 @@ -WHILETRUE0,1,2,30101篮子位置FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUEs0.2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIGZvciDnr67lrZDkvY3nva4gaW4gcmFuZ2UoMCwgMTAsIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file +WHILETRUE0,1,2,30101篮子位置FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUEs0.2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIGZvciDnr67lrZDkvY3nva4gaW4gcmFuZ2UoMCwgMTAsIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-2 巧接金雨-手动移动篮子.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-2 巧接金雨-手动移动篮子.mix index 45f9cd39..43aad224 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-2 巧接金雨-手动移动篮子.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-2 巧接金雨-手动移动篮子.mix @@ -1 +1 @@ -篮子位置0WHILETRUEB1keyADDa篮子位置1FALSEA1keyMINUSa篮子位置1FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKfield>7ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCjnr67lrZDkvY3nva4gKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQo56+u5a2Q5L2N572uICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkK \ No newline at end of file +篮子位置0WHILETRUEB1keyADDa篮子位置1FALSEA1keyMINUSa篮子位置1FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKfield>7ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCjnr67lrZDkvY3nva4gKyAwKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQo56+u5a2Q5L2N572uICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KOevruWtkOS9jee9riArIDIpLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-3 巧接金雨-移动范围控制.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-3 巧接金雨-移动范围控制.mix index 9042b402..84657ed9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-3 巧接金雨-移动范围控制.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-1-3 巧接金雨-移动范围控制.mix @@ -1 +1 @@ -篮子位置0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9FALSEA1keyMINUSa篮子位置1篮子位置max1篮子位置0FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWluKOevruWtkOS9jee9riwgOSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCg==="x">2ADD1x27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiDmmL7npLrnr67lrZAoeCk6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHggKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riAtPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICDmmL7npLrnr67lrZAo56+u5a2Q5L2N572uKQo= \ No newline at end of file +篮子位置0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9FALSEA1keyMINUSa篮子位置1篮子位置max1篮子位置0FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWluKOevruWtkOS9jee9riwgOSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCg==="x">2ADD1x27ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKCmRlZiDmmL7npLrnr67lrZAoeCk6CiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoeCArIDApLCBpbnQoNyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludCh4ICsgMSksIGludCg3KSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHggKyAyKSwgaW50KDcpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCgoKCuevruWtkOS9jee9riA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgb25ib2FyZF9tYXRyaXguZmlsbCgwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riAtPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5maWxsKDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICDmmL7npLrnr67lrZAo56+u5a2Q5L2N572uKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-1 巧接金雨-显示金豆下落.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-1 巧接金雨-显示金豆下落.mix index c31c4984..75cb2f6f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-1 巧接金雨-显示金豆下落.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-1 巧接金雨-显示金豆下落.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCAxMSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAg5pu05paw5pi+56S6KCkKICAgIGVsc2U6CiAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +篮子位置0金币位置xint011金币位置y0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCAxMSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAg5pu05paw5pi+56S6KCkKICAgIGVsc2U6CiAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-2 巧接金雨-手动启动游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-2 巧接金雨-手动启动游戏.mix index a726fb0b..4e531c53 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-2 巧接金雨-手动启动游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-2-2 巧接金雨-手动启动游戏.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1B2key游戏开始TRUE更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCg==8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUK \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1B2key游戏开始TRUE更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCg==8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgNzoKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-1 巧接金雨-判断游戏到时结束.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-1 巧接金雨-判断游戏到时结束.mix index 8007e01a..3102f2b3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-1 巧接金雨-判断游戏到时结束.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-1 巧接金雨-判断游戏到时结束.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间5000游戏开始FALSEinformatio_picture.NOTRUEB2key游戏开始TRUE游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIOabtOaWsOaYvuekuigpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOmHkeW4geS9jee9rnggKiAyMCksICjph5HluIHkvY3nva55ICogMjApLCAyMCwgMjAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjnr67lrZDkvY3nva4gKiAyMCksIDIyMCwgNjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWluKOevruWtkOS9jee9riwgMTEpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCAxMToKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuigpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDUwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg==gICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间5000游戏开始FALSEinformatio_picture.NOTRUEB2key游戏开始TRUE游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIOabtOaWsOaYvuekuigpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOmHkeW4geS9jee9rnggKiAyMCksICjph5HluIHkvY3nva55ICogMjApLCAyMCwgMjAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjnr67lrZDkvY3nva4gKiAyMCksIDIyMCwgNjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWluKOevruWtkOS9jee9riwgMTEpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCAxMToKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuigpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDUwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg==gICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuijph5HluIHkvY3nva54LCDph5HluIHkvY3nva55LCDnr67lrZDkvY3nva4pCiAgICAgICAgZWxzZToKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDEwMDAwOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhvbmJvYXJkX21hdHJpeC5TQUQpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-2 巧接金雨-判断是否接住.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-2 巧接金雨-判断是否接住.mix index c3b7dd87..9cf6de09 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-2 巧接金雨-判断是否接住.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-3-2 巧接金雨-判断是否接住.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1LTELTE0篮子位置x金币位置x2ADD1篮子位置203003000金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间5000游戏开始FALSEinformatio_picture.NOTRUEB2key游戏开始TRUE游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIOevruWtkOS9jee9riA8PSDph5HluIHkvY3nva54IDw9IOevruWtkOS9jee9riArIDI6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAzMCwgMCkpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgzMCwgMCwgMCkpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDUwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg==sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1LTELTE0篮子位置x金币位置x2ADD1篮子位置203003000金币位置xint011金币位置y0s0.1GTMINUS1ms1游戏开始时间5000游戏开始FALSEinformatio_picture.NOTRUEB2key游戏开始TRUE游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIOevruWtkOS9jee9riA8PSDph5HluIHkvY3nva54IDw9IOevruWtkOS9jee9riArIDI6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAzMCwgMCkpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgzMCwgMCwgMCkpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgICAgICDph5HluIHkvY3nva55ID0gMAogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOa4uOaIj+W8gOWni+aXtumXtCA+IDUwMDA6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg==sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-1 巧接金雨-计算并显示最终得分.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-1 巧接金雨-计算并显示最终得分.mix index 62804396..c2f40351 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-1 巧接金雨-计算并显示最终得分.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-1 巧接金雨-计算并显示最终得分.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.05GTMINUS1ms1游戏开始时间5000游戏开始FALSETrueMixly游戏得分0TRUEB2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分103003000{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiDmm7TmlrDmmL7npLooKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjph5HluIHkvY3nva54ICogMjApLCAo6YeR5biB5L2N572ueSAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDorqHnrpflvpfliIYoKToKICAgIGdsb2JhbCDmuLjmiI/lvpfliIYKICAgIGlmIOevruWtkOS9jee9riA8PSDph5HluIHkvY3nva54IDw9IOevruWtkOS9jee9riArIDI6CiAgICAgICAg5ri45oiP5b6X5YiGICs9IDEKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAzMCwgMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDExKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gNTAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5ri45oiP5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo=DmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W+l+WIhiA9IDAKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.05GTMINUS1ms1游戏开始时间5000游戏开始FALSETrueMixly游戏得分0TRUEB2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分103003000{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiDmm7TmlrDmmL7npLooKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjph5HluIHkvY3nva54ICogMjApLCAo6YeR5biB5L2N572ueSAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDorqHnrpflvpfliIYoKToKICAgIGdsb2JhbCDmuLjmiI/lvpfliIYKICAgIGlmIOevruWtkOS9jee9riA8PSDph5HluIHkvY3nva54IDw9IOevruWtkOS9jee9riArIDI6CiAgICAgICAg5ri45oiP5b6X5YiGICs9IDEKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAzMCwgMCkpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDExKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gNTAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5ri45oiP5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo=DmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAgICAgIOa4uOaIj+W+l+WIhiA9IDAKICAgICAgICAgICAg5ri45oiP5byA5aeL5pe26Ze0ID0gdGltZS50aWNrc19tcygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-2 巧接金雨-改用传感器控制游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-2 巧接金雨-改用传感器控制游戏.mix index 20274737..1f1f2612 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-2 巧接金雨-改用传感器控制游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期2/4-4-2 巧接金雨-改用传感器控制游戏.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.05GTMINUS1ms1游戏开始时间5000游戏开始FALSETrueMixly游戏得分0TRUEB2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分103003000{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOabtOaWsOaYvuekuigpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOmHkeW4geS9jee9rnggKiAyMCksICjph5HluIHkvY3nva55ICogMjApLCAyMCwgMjAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjnr67lrZDkvY3nva4gKiAyMCksIDIyMCwgNjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOa4uOaIj+W+l+WIhgogICAgaWYg56+u5a2Q5L2N572uIDw9IOmHkeW4geS9jee9rnggPD0g56+u5a2Q5L2N572uICsgMjoKICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDMwLCAwKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gNTAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5ri45oiP5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始GT[0]0.1ADDa篮子位置1篮子位置min1篮子位置9LT[0]-0.1MINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.05GTMINUS1ms1游戏开始时间5000游戏开始FALSETrueMixly游戏得分0TRUEB2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE计算得分游戏得分LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分103003000{}aW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOabtOaWsOaYvuekuigpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOmHkeW4geS9jee9rnggKiAyMCksICjph5HluIHkvY3nva55ICogMjApLCAyMCwgMjAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjnr67lrZDkvY3nva4gKiAyMCksIDIyMCwgNjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOa4uOaIj+W+l+WIhgogICAgaWYg56+u5a2Q5L2N572uIDw9IOmHkeW4geS9jee9rnggPD0g56+u5a2Q5L2N572uICsgMjoKICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDMwLCAwKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCuevruWtkOS9jee9riA9IDAK6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQrph5HluIHkvY3nva55ID0gMArmuLjmiI/lvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4xOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgLTAuMToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gNTAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5ri45oiP5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-1 晨钟暮鼓-显示时间字符串.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-1 晨钟暮鼓-显示时间字符串.mix index d9e016b9..c279f2b3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-1 晨钟暮鼓-显示时间字符串.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-1 晨钟暮鼓-显示时间字符串.mix @@ -1 +1 @@ -2025,5,27,16,49,58WHILETRUETrueMixly0TRUEs1{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNDksNTgpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +2025,5,27,16,49,58WHILETRUETrueMixly0TRUEs1{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNDksNTgpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-2 晨钟暮鼓-更好显示时间字符串.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-2 晨钟暮鼓-更好显示时间字符串.mix index f7dd4ac7..52dc80eb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-2 晨钟暮鼓-更好显示时间字符串.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-1-2 晨钟暮鼓-更好显示时间字符串.mix @@ -1 +1 @@ -2025,5,27,16,49,58WHILETRUEMixly0603255,255,0#ffffffTRUEs1{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNDksNTgpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT02MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +2025,5,27,16,49,58WHILETRUEMixly0603255,255,0#ffffffTRUEs1{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNDksNTgpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT02MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-1 晨钟暮鼓-实时时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-1 晨钟暮鼓-实时时钟.mix index be2035cc..dd22d150 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-1 晨钟暮鼓-实时时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-1 晨钟暮鼓-实时时钟.mix @@ -1 +1 @@ -2025,5,27,16,49,58WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNDksNTgpKQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +2025,5,27,16,49,58WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNDksNTgpKQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-2 晨钟暮鼓-可设定实时时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-2 晨钟暮鼓-可设定实时时钟.mix index 62761afe..f2232a3b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-2 晨钟暮鼓-可设定实时时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-2-2 晨钟暮鼓-可设定实时时钟.mix @@ -1 +1 @@ -settime请输入当时时间,格式如下(2023,1,1,12,0,0):2023,1,1,12,0,0settimeWHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKc2V0dGltZSA9IGlucHV0KCfor7fovpPlhaXlvZPml7bml7bpl7TvvIzmoLzlvI/lpoLkuIvvvIgyMDIzLDEsMSwxMiwwLDDvvInvvJonKQpydGN0aW1lLnNldHRpbWUoc2V0dGltZSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ3t9Ont9Ont9Jy5mb3JtYXQoc3RyKG15dHVwWzNdKSwgc3RyKG15dHVwWzRdKSwgc3RyKG15dHVwWzVdKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +settime请输入当时时间,格式如下(2023,1,1,12,0,0):2023,1,1,12,0,0settimeWHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKc2V0dGltZSA9IGlucHV0KCfor7fovpPlhaXlvZPml7bml7bpl7TvvIzmoLzlvI/lpoLkuIvvvIgyMDIzLDEsMSwxMiwwLDDvvInvvJonKQpydGN0aW1lLnNldHRpbWUoc2V0dGltZSkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ3t9Ont9Ont9Jy5mb3JtYXQoc3RyKG15dHVwWzNdKSwgc3RyKG15dHVwWzRdKSwgc3RyKG15dHVwWzVdKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-1 晨钟暮鼓-按钮显示实时时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-1 晨钟暮鼓-按钮显示实时时钟.mix index b8f4e2bc..85534a6a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-1 晨钟暮鼓-按钮显示实时时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-1 晨钟暮鼓-按钮显示实时时钟.mix @@ -1 +1 @@ -x2025,5,27,16,54,32machine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1attachInterrupt_funcMixly{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgb25ib2FyZF90ZnQuc2Nyb2xsKHJ0Y3RpbWUuc3RydGltZSgpLCBjb2xvcj0weGZmZmYpCgoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNTQsMzIpKQptaXhnb19zYW50LkIxa2V5LmlycShoYW5kbGVyPWF0dGFjaEludGVycnVwdF9mdW5jLCB0cmlnZ2VyPW1hY2hpbmUuUGluLklSUV9SSVNJTkcpCndoaWxlIFRydWU6CiAgICBteXR1cCA9IHRpbWUubG9jYWx0aW1lKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg==AsNDUsMCwwKSkKbWl4Z29fbWluaS5CMWtleS5pcnEoaGFuZGxlciA9IGF0dGFjaEludGVycnVwdF9mdW5jLCB0cmlnZ2VyID0gbWFjaGluZS5QaW4uSVJRX1JJU0lORykKd2hpbGUgVHJ1ZToKICAgIHByaW50KHJ0Y3RpbWUuc3RydGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +x2025,5,27,16,54,32machine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1attachInterrupt_funcMixly{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgb25ib2FyZF90ZnQuc2Nyb2xsKHJ0Y3RpbWUuc3RydGltZSgpLCBjb2xvcj0weGZmZmYpCgoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMTYsNTQsMzIpKQptaXhnb19zYW50LkIxa2V5LmlycShoYW5kbGVyPWF0dGFjaEludGVycnVwdF9mdW5jLCB0cmlnZ2VyPW1hY2hpbmUuUGluLklSUV9SSVNJTkcpCndoaWxlIFRydWU6CiAgICBteXR1cCA9IHRpbWUubG9jYWx0aW1lKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg==AsNDUsMCwwKSkKbWl4Z29fbWluaS5CMWtleS5pcnEoaGFuZGxlciA9IGF0dGFjaEludGVycnVwdF9mdW5jLCB0cmlnZ2VyID0gbWFjaGluZS5QaW4uSVJRX1JJU0lORykKd2hpbGUgVHJ1ZToKICAgIHByaW50KHJ0Y3RpbWUuc3RydGltZSgpKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-2 晨钟暮鼓-按钮设置实时时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-2 晨钟暮鼓-按钮设置实时时钟.mix index ec898028..7e414272 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-2 晨钟暮鼓-按钮设置实时时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-3-2 晨钟暮鼓-按钮设置实时时钟.mix @@ -1 +1 @@ -xmachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcmachine.Pin.IRQ_RISINGB2keyattachInterrupt_func2WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1attachInterrupt_funcMixlyattachInterrupt_func2settime请输入当时时间,格式如下(2023,1,1,12,0,0):2023,1,1,12,0,0settime{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcnRjdGltZQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgb25ib2FyZF90ZnQuc2Nyb2xsKHJ0Y3RpbWUuc3RydGltZSgpLCBjb2xvcj0weGZmZmYpCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMyKHgpOgogICAgc2V0dGltZSA9IGlucHV0KCfor7fovpPlhaXlvZPml7bml7bpl7TvvIzmoLzlvI/lpoLkuIvvvIgyMDIzLDEsMSwxMiwwLDDvvInvvJonKQogICAgcnRjdGltZS5zZXR0aW1lKHNldHRpbWUpCgoKbWl4Z29fc2FudC5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQptaXhnb19zYW50LkIya2V5LmlycShoYW5kbGVyPWF0dGFjaEludGVycnVwdF9mdW5jMiwgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +xmachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcmachine.Pin.IRQ_RISINGB2keyattachInterrupt_func2WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1attachInterrupt_funcMixlyattachInterrupt_func2settime请输入当时时间,格式如下(2023,1,1,12,0,0):2023,1,1,12,0,0settime{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcnRjdGltZQoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgb25ib2FyZF90ZnQuc2Nyb2xsKHJ0Y3RpbWUuc3RydGltZSgpLCBjb2xvcj0weGZmZmYpCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMyKHgpOgogICAgc2V0dGltZSA9IGlucHV0KCfor7fovpPlhaXlvZPml7bml7bpl7TvvIzmoLzlvI/lpoLkuIvvvIgyMDIzLDEsMSwxMiwwLDDvvInvvJonKQogICAgcnRjdGltZS5zZXR0aW1lKHNldHRpbWUpCgoKbWl4Z29fc2FudC5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQptaXhnb19zYW50LkIya2V5LmlycShoYW5kbGVyPWF0dGFjaEludGVycnVwdF9mdW5jMiwgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-1 晨钟暮鼓-定点闹铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-1 晨钟暮鼓-定点闹铃.mix index 9ae97794..b91956b4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-1 晨钟暮鼓-定点闹铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-1 晨钟暮鼓-定点闹铃.mix @@ -1 +1 @@ -2025,5,27,20,34,4闹铃时间20,34,14WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ANDEQmytup闹铃时间0mytup3ANDEQmytup闹铃时间1mytup4EQmytup闹铃时间2mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0ID0gKDIwLDM0LDE0KQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYg6Ze56ZOD5pe26Ze0WzBdID09IG15dHVwWzNdIGFuZCAo6Ze56ZOD5pe26Ze0WzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7RbMl0gPT0gbXl0dXBbNV0pOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKExpZ2h0bmluZywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +2025,5,27,20,34,4闹铃时间20,34,14WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ANDEQmytup闹铃时间0mytup3ANDEQmytup闹铃时间1mytup4EQmytup闹铃时间2mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0ID0gKDIwLDM0LDE0KQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYg6Ze56ZOD5pe26Ze0WzBdID09IG15dHVwWzNdIGFuZCAo6Ze56ZOD5pe26Ze0WzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7RbMl0gPT0gbXl0dXBbNV0pOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKExpZ2h0bmluZywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-2 晨钟暮鼓-多个定点闹铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-2 晨钟暮鼓-多个定点闹铃.mix index f7914cfc..aa567fcc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-2 晨钟暮鼓-多个定点闹铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/1-4-2 晨钟暮鼓-多个定点闹铃.mix @@ -1 +1 @@ -2025,5,27,20,34,4闹铃时间120,34,14闹铃时间220,34,24WHILETRUEmytupTrueMixlynow:Mixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ORANDEQmytup闹铃时间10mytup3ANDEQmytup闹铃时间11mytup4EQmytup闹铃时间12mytup5ANDEQmytup闹铃时间20mytup3ANDEQmytup闹铃时间21mytup4EQmytup闹铃时间22mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0MSA9ICgyMCwzNCwxNCkK6Ze56ZOD5pe26Ze0MiA9ICgyMCwzNCwyNCkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ25vd++8micgKyAne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYgKOmXuemTg+aXtumXtDFbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QxWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QxWzJdID09IG15dHVwWzVdKSkgb3IgKOmXuemTg+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QyWzJdID09IG15dHVwWzVdKSk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTGlnaHRuaW5nLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKid="Cs--.F{Lb9`19-A590Cq">2mytup5ANDEQmytup闹铃时间20mytup3ANDEQmytup闹铃时间21mytup4EQmytup闹铃时间22mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0MSA9ICgyMCwzNCwxNCkK6Ze56ZOD5pe26Ze0MiA9ICgyMCwzNCwyNCkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ2FsYXJtMe+8micgKyAne306e306e30nLmZvcm1hdChzdHIo6Ze56ZOD5pe26Ze0MVswXSksIHN0cijpl7npk4Pml7bpl7QxWzFdKSwgc3RyKOmXuemTg+aXtumXtDFbMl0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ2FsYXJtMu+8micgKyAne306e306e30nLmZvcm1hdChzdHIo6Ze56ZOD5pe26Ze0MlswXSksIHN0cijpl7npk4Pml7bpl7QyWzFdKSwgc3RyKOmXuemTg+aXtumXtDJbMl0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ25vd++8micgKyAne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYgKOmXuemTg+aXtumXtDFbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QxWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QxWzJdID09IG15dHVwWzVdKSkgb3IgKOmXuemTg+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QyWzJdID09IG15dHVwWzVdKSk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTGlnaHRuaW5nLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0MSA9ICgyMCwzNCwxNCkK6Ze56ZOD5pe26Ze0MiA9ICgyMCwzNCwyNCkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ2FsYXJtMe+8micgKyAne306e306e30nLmZvcm1hdChzdHIo6Ze56ZOD5pe26Ze0MVswXSksIHN0cijpl7npk4Pml7bpl7QxWzFdKSwgc3RyKOmXuemTg+aXtumXtDFbMl0pKSwgeD0wLCB5PTAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdhbGFybTLvvJonICsgJ3t9Ont9Ont9Jy5mb3JtYXQoc3RyKOmXuemTg+aXtumXtDJbMF0pLCBzdHIo6Ze56ZOD5pe26Ze0MlsxXSksIHN0cijpl7npk4Pml7bpl7QyWzJdKSksIHg9MCwgeT0zMiwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ25vd++8micgKyAne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgeD0wLCB5PTEyOCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYgKOmXuemTg+aXtumXtDFbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QxWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QxWzJdID09IG15dHVwWzVdKSkgb3IgKOmXuemTg+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QyWzJdID09IG15dHVwWzVdKSk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTGlnaHRuaW5nLCBjb2xvcj0weGZmZmYpCiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQo= \ No newline at end of file +2025,5,27,20,34,4闹铃时间120,34,14闹铃时间220,34,24WHILETRUEmytupTrueMixlynow:Mixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ORANDEQmytup闹铃时间10mytup3ANDEQmytup闹铃时间11mytup4EQmytup闹铃时间12mytup5ANDEQmytup闹铃时间20mytup3ANDEQmytup闹铃时间21mytup4EQmytup闹铃时间22mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0MSA9ICgyMCwzNCwxNCkK6Ze56ZOD5pe26Ze0MiA9ICgyMCwzNCwyNCkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ25vd++8micgKyAne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYgKOmXuemTg+aXtumXtDFbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QxWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QxWzJdID09IG15dHVwWzVdKSkgb3IgKOmXuemTg+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QyWzJdID09IG15dHVwWzVdKSk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTGlnaHRuaW5nLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKid="Cs--.F{Lb9`19-A590Cq">2mytup5ANDEQmytup闹铃时间20mytup3ANDEQmytup闹铃时间21mytup4EQmytup闹铃时间22mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0MSA9ICgyMCwzNCwxNCkK6Ze56ZOD5pe26Ze0MiA9ICgyMCwzNCwyNCkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ2FsYXJtMe+8micgKyAne306e306e30nLmZvcm1hdChzdHIo6Ze56ZOD5pe26Ze0MVswXSksIHN0cijpl7npk4Pml7bpl7QxWzFdKSwgc3RyKOmXuemTg+aXtumXtDFbMl0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ2FsYXJtMu+8micgKyAne306e306e30nLmZvcm1hdChzdHIo6Ze56ZOD5pe26Ze0MlswXSksIHN0cijpl7npk4Pml7bpl7QyWzFdKSwgc3RyKOmXuemTg+aXtumXtDJbMl0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ25vd++8micgKyAne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYgKOmXuemTg+aXtumXtDFbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QxWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QxWzJdID09IG15dHVwWzVdKSkgb3IgKOmXuemTg+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QyWzJdID09IG15dHVwWzVdKSk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTGlnaHRuaW5nLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK6Ze56ZOD5pe26Ze0MSA9ICgyMCwzNCwxNCkK6Ze56ZOD5pe26Ze0MiA9ICgyMCwzNCwyNCkKd2hpbGUgVHJ1ZToKICAgIG15dHVwID0gdGltZS5sb2NhbHRpbWUoKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ2FsYXJtMe+8micgKyAne306e306e30nLmZvcm1hdChzdHIo6Ze56ZOD5pe26Ze0MVswXSksIHN0cijpl7npk4Pml7bpl7QxWzFdKSwgc3RyKOmXuemTg+aXtumXtDFbMl0pKSwgeD0wLCB5PTAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdhbGFybTLvvJonICsgJ3t9Ont9Ont9Jy5mb3JtYXQoc3RyKOmXuemTg+aXtumXtDJbMF0pLCBzdHIo6Ze56ZOD5pe26Ze0MlsxXSksIHN0cijpl7npk4Pml7bpl7QyWzJdKSksIHg9MCwgeT0zMiwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ25vd++8micgKyAne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgeD0wLCB5PTEyOCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYgKOmXuemTg+aXtumXtDFbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QxWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QxWzJdID09IG15dHVwWzVdKSkgb3IgKOmXuemTg+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjpl7npk4Pml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7QyWzJdID09IG15dHVwWzVdKSk6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTGlnaHRuaW5nLCBjb2xvcj0weGZmZmYpCiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-1 红外探秘-红外接近测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-1 红外探秘-红外接近测试.mix index a53c6210..6521351e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-1 红外探秘-红外接近测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-1 红外探秘-红外接近测试.mix @@ -1 +1 @@ -WHILETRUETrueMixly左:{} 右:{}ll0TRUEs1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygn5bem77yae30g5Y+z77yae30nLmZvcm1hdChvbmJvYXJkX2Fsc19sLnBzX25sKCksIG9uYm9hcmRfYWxzX2wucHNfbmwoKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUETrueMixly左:{} 右:{}ll0TRUEs1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygn5bem77yae30g5Y+z77yae30nLmZvcm1hdChvbmJvYXJkX2Fsc19sLnBzX25sKCksIG9uYm9hcmRfYWxzX2wucHNfbmwoKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-2 红外探秘-红外接近报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-2 红外探秘-红外接近报警.mix index b6cb3841..ff41e663 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-2 红外探秘-红外接近报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-1-2 红外探秘-红外接近报警.mix @@ -1 +1 @@ -WHILETRUEORGTl100GTr100onboard_music.DADADADUM{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDAgb3Igb25ib2FyZF9hbHNfci5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +WHILETRUEORGTl100GTr100onboard_music.DADADADUM{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDAgb3Igb25ib2FyZF9hbHNfci5wc19ubCgpID4gMTAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-1 红外探秘-单传感器挥手速度测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-1 红外探秘-单传感器挥手速度测试.mix index 306a8291..95f2c2bd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-1 红外探秘-单传感器挥手速度测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-1 红外探秘-单传感器挥手速度测试.mix @@ -1 +1 @@ -WHILETRUEGTl100进入mstrueLTl10离开msTrueMixlyMINUS1离开1进入0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAg6L+b5YWlID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg56a75byAID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo56a75byAIC0g6L+b5YWlLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUEGTl100进入mstrueLTl10离开msTrueMixlyMINUS1离开1进入0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAg6L+b5YWlID0gdGltZS50aWNrc19tcygpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg56a75byAID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo56a75byAIC0g6L+b5YWlLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-2 红外探秘-双传感器挥手速度测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-2 红外探秘-双传感器挥手速度测试.mix index ebaa3067..ba4db223 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-2 红外探秘-双传感器挥手速度测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-2-2 红外探秘-双传感器挥手速度测试.mix @@ -1 +1 @@ -WHILETRUEGTl100进入mstrueGTr100trueLTr10离开msTrueMixlyMINUS1离开1进入0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMTAwOgogICAgICAgIOi/m+WFpSA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDnprvlvIAgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnprvlvIAgLSDov5vlhaUsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEGTl100进入mstrueGTr100trueLTr10离开msTrueMixlyMINUS1离开1进入0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMTAwOgogICAgICAgIOi/m+WFpSA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDnprvlvIAgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnprvlvIAgLSDov5vlhaUsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-1 红外探秘-出入口分开公园人数统计.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-1 红外探秘-出入口分开公园人数统计.mix index 37b09376..08d5560f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-1 红外探秘-出入口分开公园人数统计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-1 红外探秘-出入口分开公园人数统计.mix @@ -1 +1 @@ -人数0WHILETRUEGTl100trueLTl10ADD人数1GTr100trueLTr10MINUS人数1TrueMixly人数0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrkurrmlbAgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5Lq65pWwICs9IDEKICAgIGlmIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDEwMDoKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDkurrmlbAgLT0gMQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5Lq65pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +人数0WHILETRUEGTl100trueLTl10ADD人数1GTr100trueLTr10MINUS人数1TrueMixly人数0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrkurrmlbAgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5Lq65pWwICs9IDEKICAgIGlmIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDEwMDoKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDkurrmlbAgLT0gMQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5Lq65pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-2 红外探秘-出入口统一公园人数统计.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-2 红外探秘-出入口统一公园人数统计.mix index 1da3d5bc..878437f4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-2 红外探秘-出入口统一公园人数统计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-3-2 红外探秘-出入口统一公园人数统计.mix @@ -1 +1 @@ -人数0WHILETRUEGTl100trueGTr100trueLTr10ADD人数1GTr100trueGTl100trueLTl10MINUS人数1TrueMixly人数0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrkurrmlbAgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDEwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19yLnBzX25sKCkgPCAxMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOS6uuaVsCArPSAxCiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLnBzX25sKCkgPCAxMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOS6uuaVsCAtPSAxCiAgICBvbmJvYXJkX3RmdC5zaG93cyjkurrmlbAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +人数0WHILETRUEGTl100trueGTr100trueLTr10ADD人数1GTr100trueGTl100trueLTl10MINUS人数1TrueMixly人数0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrkurrmlbAgPSAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDEwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19yLnBzX25sKCkgPCAxMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOS6uuaVsCArPSAxCiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLnBzX25sKCkgPCAxMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOS6uuaVsCAtPSAxCiAgICBvbmJvYXJkX3RmdC5zaG93cyjkurrmlbAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-1 红外探秘-单探头倒车雷达模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-1 红外探秘-单探头倒车雷达模拟.mix index 106b2d88..77e47617 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-1 红外探秘-单探头倒车雷达模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-1 红外探秘-单探头倒车雷达模拟.mix @@ -1 +1 @@ -WHILETRUEdlGTd1006591000ZHENGCHU200001dms1ZHENGCHU200001dTrueMixlyd0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgZCA9IG9uYm9hcmRfYWxzX2wucHNfbmwoKQogICAgaWYgZCA+IDEwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAoMjAwMDAgLy8gZCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMjAwMDAgLy8gZCkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhkLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUEdlGTd1006591000ZHENGCHU200001dms1ZHENGCHU200001dTrueMixlyd0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgZCA9IG9uYm9hcmRfYWxzX2wucHNfbmwoKQogICAgaWYgZCA+IDEwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAoMjAwMDAgLy8gZCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygoMjAwMDAgLy8gZCkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhkLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-2 红外探秘- 双探头倒车雷达模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-2 红外探秘- 双探头倒车雷达模拟.mix index 44f9180e..d2dc6183 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-2 红外探秘- 双探头倒车雷达模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/2-4-2 红外探秘- 双探头倒车雷达模拟.mix @@ -1 +1 @@ -WHILETRUEd1ld2lORGTd1100GTd21006591000ZHENGCHU200001max1d1dd2ms1ZHENGCHU200001max1d1dd2TrueMixly {} {}d1d20TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgZDEgPSBvbmJvYXJkX2Fsc19sLnBzX25sKCkKICAgIGQyID0gb25ib2FyZF9hbHNfbC5wc19ubCgpCiAgICBpZiBkMSA+IDEwMCBvciBkMiA+IDEwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAoMjAwMDAgLy8gbWF4KGQxLCBkMikpKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKDIwMDAwIC8vIG1heChkMSwgZDIpKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCcge30gIHt9Jy5mb3JtYXQoZDEsIGQyKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEd1ld2lORGTd1100GTd21006591000ZHENGCHU200001max1d1dd2ms1ZHENGCHU200001max1d1dd2TrueMixly {} {}d1d20TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgZDEgPSBvbmJvYXJkX2Fsc19sLnBzX25sKCkKICAgIGQyID0gb25ib2FyZF9hbHNfbC5wc19ubCgpCiAgICBpZiBkMSA+IDEwMCBvciBkMiA+IDEwMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAoMjAwMDAgLy8gbWF4KGQxLCBkMikpKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKDIwMDAwIC8vIG1heChkMSwgZDIpKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCcge30gIHt9Jy5mb3JtYXQoZDEsIGQyKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-1 遥相呼应-无线广播测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-1 遥相呼应-无线广播测试.mix index 53dbf017..e5b555cb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-1 遥相呼应-无线广播测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-1 遥相呼应-无线广播测试.mix @@ -1 +1 @@ -1True序号0WHILETRUEADD序号1Mixly序号s5{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBwcmludChFU1BOb3dfcmFkaW9fbXNnKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOW6j+WPtyArPSAxCiAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIizluo/lj7cpCiAgICB0aW1lLnNsZWVwKDUpCg==9IDEKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLOW6j+WPtykKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file +1True序号0WHILETRUEADD序号1Mixly序号s5{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBwcmludChFU1BOb3dfcmFkaW9fbXNnKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIOW6j+WPtyArPSAxCiAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIizluo/lj7cpCiAgICB0aW1lLnNsZWVwKDUpCg==9IDEKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLOW6j+WPtykKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-2 遥相呼应-无线遥控灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-2 遥相呼应-无线遥控灯.mix index b509a8fc..3df7f10d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-2 遥相呼应-无线遥控灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-1-2 遥相呼应-无线遥控灯.mix @@ -1 +1 @@ -1TrueWHILETRUEB1keyCMD_LIGHTONB2keyCMD_LIGHTOFFmsgMixlymsgEQmsgCMD_LIGHTON11EQmsgCMD_LIGHTOFF10{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG1zZyA9IEVTUE5vd19yYWRpb19tc2cKICAgIHByaW50KG1zZykKICAgIGlmIG1zZyA9PSAnQ01EX0xJR0hUT04nOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG1zZyA9PSAnQ01EX0xJR0hUT0ZGJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnQ01EX0xJR0hUT04nKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdDTURfTElHSFRPRkYnKQo=19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0NNRF9MSUdIVE9GRicpCg== \ No newline at end of file +1TrueWHILETRUEB1keyCMD_LIGHTONB2keyCMD_LIGHTOFFmsgMixlymsgEQmsgCMD_LIGHTON11EQmsgCMD_LIGHTOFF10{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG1zZyA9IEVTUE5vd19yYWRpb19tc2cKICAgIHByaW50KG1zZykKICAgIGlmIG1zZyA9PSAnQ01EX0xJR0hUT04nOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG1zZyA9PSAnQ01EX0xJR0hUT0ZGJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnQ01EX0xJR0hUT04nKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdDTURfTElHSFRPRkYnKQo=19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0NNRF9MSUdIVE9GRicpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-1 遥相呼应-防丢测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-1 遥相呼应-防丢测试.mix index 9cd0f253..8d0f7767 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-1 遥相呼应-防丢测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-1 遥相呼应-防丢测试.mix @@ -1 +1 @@ -TrueMixly0TrueMixly0010255,255,0#ffffffTRUElastmsgtimems1TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000informatio_picture.NOTRUElastmsgtimeinformatio_picture.YESTRUElastmsgtimems{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQppbXBvcnQgcmFkaW8KZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IE5PCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBZRVMKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIGdsb2JhbCBsYXN0bXNndGltZQogICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKb25ib2FyZF90ZnQuc2hvd3MoJ01peGx5Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpvbmJvYXJkX3RmdC5zaG93cygnTWl4bHknLCB4PTAsIHk9MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCmxhc3Rtc2d0aW1lID0gdGltZS50aWNrc19tcygpCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +TrueMixly0TrueMixly0010255,255,0#ffffffTRUElastmsgtimems1TrueWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000informatio_picture.NOTRUElastmsgtimeinformatio_picture.YESTRUElastmsgtimems{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQppbXBvcnQgcmFkaW8KZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IE5PCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBZRVMKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIGdsb2JhbCBsYXN0bXNndGltZQogICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKb25ib2FyZF90ZnQuc2hvd3MoJ01peGx5Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpvbmJvYXJkX3RmdC5zaG93cygnTWl4bHknLCB4PTAsIHk9MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCmxhc3Rtc2d0aW1lID0gdGltZS50aWNrc19tcygpCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLHN0cih0aW1lLnRpY2tzX21zKCkpKQogICAgaWYgdGltZS50aWNrc19tcygpIC0gbGFzdG1zZ3RpbWUgPiAxMDAwMDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-2 遥相呼应-带查找防丢测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-2 遥相呼应-带查找防丢测试.mix index 5ad96987..1820708c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-2 遥相呼应-带查找防丢测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-2-2 遥相呼应-带查找防丢测试.mix @@ -1 +1 @@ -xlastmsgtimems1Truemachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000informatio_picture.NOTRUEmsgEQmsgBEEP988100lastmsgtimeinformatio_picture.YESTRUElastmsgtimemsattachInterrupt_funcBEEP{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19zYW50CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgWUVTCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICBpZiBtc2cgPT0gJ0JFRVAnOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgIGdsb2JhbCBsYXN0bXNndGltZQogICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0JFRVAnKQoKCmxhc3Rtc2d0aW1lID0gdGltZS50aWNrc19tcygpCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKbWl4Z29fc2FudC5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgyKQogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsc3RyKHRpbWUudGlja3NfbXMoKSkpCiAgICBpZiB0aW1lLnRpY2tzX21zKCkgLSBsYXN0bXNndGltZSA+IDEwMDAwOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +xlastmsgtimems1Truemachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUEs2MixlyxmsGTMINUS1ms1lastmsgtime10000informatio_picture.NOTRUEmsgEQmsgBEEP988100lastmsgtimeinformatio_picture.YESTRUElastmsgtimemsattachInterrupt_funcBEEP{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhZGlvCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19zYW50CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgWUVTCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICBpZiBtc2cgPT0gJ0JFRVAnOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgIGdsb2JhbCBsYXN0bXNndGltZQogICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgbGFzdG1zZ3RpbWUgPSB0aW1lLnRpY2tzX21zKCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKZGVmIGF0dGFjaEludGVycnVwdF9mdW5jKHgpOgogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0JFRVAnKQoKCmxhc3Rtc2d0aW1lID0gdGltZS50aWNrc19tcygpCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKbWl4Z29fc2FudC5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgyKQogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsc3RyKHRpbWUudGlja3NfbXMoKSkpCiAgICBpZiB0aW1lLnRpY2tzX21zKCkgLSBsYXN0bXNndGltZSA+IDEwMDAwOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-1 遥相呼应-有线按键翻页.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-1 遥相呼应-有线按键翻页.mix index 01a311c3..5858e60d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-1 遥相呼应-有线按键翻页.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-1 遥相呼应-有线按键翻页.mix @@ -1 +1 @@ -WHILETRUEB1keyTrue0x000x4EB2keyTrue0x000x4B{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfa2V5Ym9hcmQoMHgwMCwgMHg0RSwgVHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfa2V5Ym9hcmQoMHgwMCwgMHg0QiwgVHJ1ZSkK \ No newline at end of file +WHILETRUEB1keyTrue0x000x4EB2keyTrue0x000x4B{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfa2V5Ym9hcmQoMHgwMCwgMHg0RSwgVHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfa2V5Ym9hcmQoMHgwMCwgMHg0QiwgVHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-2 遥相呼应-有线鼠标模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-2 遥相呼应-有线鼠标模拟.mix index 2779b0e4..d6afa581 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-2 遥相呼应-有线鼠标模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-3-2 遥相呼应-有线鼠标模拟.mix @@ -1 +1 @@ -WHILETRUEA1keyTrue0x000100A2keyTrue0x00-1000A3keyTrue0x000-100A4keyTrue0x001000B1keyTrue0x01000B2keyTrue0x02000{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgwLCAxMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgoLTEwKSwgMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgwLCAoLTEwKSksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgxMCwgMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAxLCBtb3ZlPSgwLCAwKSwgd2hlZWw9MCwgcmVsZWFzZT1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfYm90LmhpZF9tb3VzZShrZXlzPTB4MDIsIG1vdmU9KDAsIDApLCB3aGVlbD0wLCByZWxlYXNlPVRydWUpCg== \ No newline at end of file +WHILETRUEA1keyTrue0x000100A2keyTrue0x00-1000A3keyTrue0x000-100A4keyTrue0x001000B1keyTrue0x01000B2keyTrue0x02000{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgwLCAxMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgoLTEwKSwgMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgwLCAoLTEwKSksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgxMCwgMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAxLCBtb3ZlPSgwLCAwKSwgd2hlZWw9MCwgcmVsZWFzZT1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfYm90LmhpZF9tb3VzZShrZXlzPTB4MDIsIG1vdmU9KDAsIDApLCB3aGVlbD0wLCByZWxlYXNlPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-1 遥相呼应-无线按键翻页.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-1 遥相呼应-无线按键翻页.mix index 54935fd2..cc565e39 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-1 遥相呼应-无线按键翻页.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-1 遥相呼应-无线按键翻页.mix @@ -1 +1 @@ -1TrueWHILETRUEB1keyDOWNB2keyUPDOWNTrue0x000x4EUPTrue0x000x4B{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9ib3QKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfYm90LmhpZF9rZXlib2FyZCgweDAwLCAweDRFLCBUcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIkRPV04iLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9ib3QuaGlkX2tleWJvYXJkKDB4MDAsIDB4NEIsIFRydWUpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiVVAiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0RPV04nKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdVUCcpCg==G1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnRE9XTicpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1VQJykK \ No newline at end of file +1TrueWHILETRUEB1keyDOWNB2keyUPDOWNTrue0x000x4EUPTrue0x000x4B{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9ib3QKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfYm90LmhpZF9rZXlib2FyZCgweDAwLCAweDRFLCBUcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIkRPV04iLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9ib3QuaGlkX2tleWJvYXJkKDB4MDAsIDB4NEIsIFRydWUpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiVVAiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ0RPV04nKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdVUCcpCg==G1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnRE9XTicpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1VQJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-2 遥相呼应-无线鼠标模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-2 遥相呼应-无线鼠标模拟.mix index 9d0a61ca..141230be 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-2 遥相呼应-无线鼠标模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/3-4-2 遥相呼应-无线鼠标模拟.mix @@ -1 +1 @@ -1TrueWHILETRUEA1keyY10A2key10XA3key10YA4key10XB1keyLEFTB2keyRIGHTY10True0x00010010XTrue0x00-100010YTrue0x000-10010XTrue0x001000LEFTTrue0x01000RIGHTTrue0x02000{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9ib3QKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfYm90LmhpZF9tb3VzZShrZXlzPTB4MDAsIG1vdmU9KDAsIDEwKSwgd2hlZWw9MCwgcmVsZWFzZT1UcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIlkxMCIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgxMCwgMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCIxMFgiLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9ib3QuaGlkX21vdXNlKGtleXM9MHgwMCwgbW92ZT0oMCwgKC0xMCkpLCB3aGVlbD0wLCByZWxlYXNlPVRydWUpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiMTBZIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfYm90LmhpZF9tb3VzZShrZXlzPTB4MDEsIG1vdmU9KDAsIDApLCB3aGVlbD0wLCByZWxlYXNlPVRydWUpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiTEVGVCIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAyLCBtb3ZlPSgwLCAwKSwgd2hlZWw9MCwgcmVsZWFzZT1UcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIlJJR0hUIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdZMTAnKQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCcxMFgnKQogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCcxMFknKQogICAgaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCcxMFgnKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdMRUZUJykKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnUklHSFQnKQo=3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnMTBYJykKICAgIGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnMTBZJykKICAgIGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnMTBYJykKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file +1TrueWHILETRUEA1keyY10A2key10XA3key10YA4key10XB1keyLEFTB2keyRIGHTY10True0x00010010XTrue0x00-100010YTrue0x000-10010XTrue0x001000LEFTTrue0x01000RIGHTTrue0x02000{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9ib3QKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfYm90LmhpZF9tb3VzZShrZXlzPTB4MDAsIG1vdmU9KDAsIDEwKSwgd2hlZWw9MCwgcmVsZWFzZT1UcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIlkxMCIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAwLCBtb3ZlPSgxMCwgMCksIHdoZWVsPTAsIHJlbGVhc2U9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCIxMFgiLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9ib3QuaGlkX21vdXNlKGtleXM9MHgwMCwgbW92ZT0oMCwgKC0xMCkpLCB3aGVlbD0wLCByZWxlYXNlPVRydWUpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiMTBZIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfYm90LmhpZF9tb3VzZShrZXlzPTB4MDEsIG1vdmU9KDAsIDApLCB3aGVlbD0wLCByZWxlYXNlPVRydWUpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiTEVGVCIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2JvdC5oaWRfbW91c2Uoa2V5cz0weDAyLCBtb3ZlPSgwLCAwKSwgd2hlZWw9MCwgcmVsZWFzZT1UcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIlJJR0hUIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdZMTAnKQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCcxMFgnKQogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCcxMFknKQogICAgaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCcxMFgnKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCdMRUZUJykKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnUklHSFQnKQo=3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnMTBYJykKICAgIGlmIG1peGdvX21pbmkuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnMTBZJykKICAgIGlmIG1peGdvX21pbmkuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnMTBYJykKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwnTEVGVCcpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ1JJR0hUJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-1 蓝牙通讯-无线透传从机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-1 蓝牙通讯-无线透传从机.mix index 5a884127..0b76b64e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-1 蓝牙通讯-无线透传从机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-1 蓝牙通讯-无线透传从机.mix @@ -1 +1 @@ -datable_xMixly_Slaveble_xble_methodWHILETRUEble_xTrueOK0TRUEB1keyble_xB1按键按下B2keyble_xB2按键按下True==0TRUEble_methodMixlydata{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IG1hY2hpbmUKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgcHJpbnQoZGF0YSkKCgpibGVfeCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01peGx5X1NsYXZlJykKYmxlX3gucmVjdihibGVfbWV0aG9kKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3guaXNfY29ubmVjdGVkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ09LJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX3guc2VuZCgnQjHmjInplK7mjInkuIsnKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX3guc2VuZCgnQjLmjInplK7mjInkuIsnKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnPT0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +datable_xMixly_Slaveble_xble_methodWHILETRUEble_xTrueOK0TRUEB1keyble_xB1按键按下B2keyble_xB2按键按下True==0TRUEble_methodMixlydata{}aW1wb3J0IGJsZV9wZXJpcGhlcmFsCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IG1hY2hpbmUKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgcHJpbnQoZGF0YSkKCgpibGVfeCA9IGJsZV9wZXJpcGhlcmFsLkJMRVNpbXBsZVBlcmlwaGVyYWwoJ01peGx5X1NsYXZlJykKYmxlX3gucmVjdihibGVfbWV0aG9kKQp3aGlsZSBUcnVlOgogICAgaWYgYmxlX3guaXNfY29ubmVjdGVkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ09LJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX3guc2VuZCgnQjHmjInplK7mjInkuIsnKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgYmxlX3guc2VuZCgnQjLmjInplK7mjInkuIsnKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnPT0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-2 蓝牙通讯-无线透传主机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-2 蓝牙通讯-无线透传主机.mix index f58578bd..b582e2ce 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-2 蓝牙通讯-无线透传主机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-1-2 蓝牙通讯-无线透传主机.mix @@ -1 +1 @@ -datable_cble_cble_methodWHILETRUEble_cB1keyble_ctestTrueOK0TRUETrue==0TRUEnameble_cMixly_SlaveException as eble_methodMixlydata{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hY2hpbmUKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgcHJpbnQoZGF0YSkKCgpibGVfYyA9IGJsZV9jZW50cmFsLkJMRVNpbXBsZUNlbnRyYWwoKQpibGVfYy5yZWN2KGJsZV9tZXRob2QpCndoaWxlIFRydWU6CiAgICBpZiBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV9jLnNlbmQoJ3Rlc3QnKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRyeToKICAgICAgICAgICAgYmxlX2MuY29ubmVjdChuYW1lPSdNaXhseV9TbGF2ZScpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBwYXNzCg== \ No newline at end of file +datable_cble_cble_methodWHILETRUEble_cB1keyble_ctestTrueOK0TRUETrue==0TRUEnameble_cMixly_SlaveException as eble_methodMixlydata{}aW1wb3J0IGJsZV9jZW50cmFsCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hY2hpbmUKCmRlZiBibGVfbWV0aG9kKGRhdGEpOgogICAgcHJpbnQoZGF0YSkKCgpibGVfYyA9IGJsZV9jZW50cmFsLkJMRVNpbXBsZUNlbnRyYWwoKQpibGVfYy5yZWN2KGJsZV9tZXRob2QpCndoaWxlIFRydWU6CiAgICBpZiBibGVfYy5pc19jb25uZWN0ZWQoKToKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIGJsZV9jLnNlbmQoJ3Rlc3QnKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRyeToKICAgICAgICAgICAgYmxlX2MuY29ubmVjdChuYW1lPSdNaXhseV9TbGF2ZScpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-1 蓝牙通讯-蓝牙键鼠翻页.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-1 蓝牙通讯-蓝牙键鼠翻页.mix index 31e23216..f7257a58 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-1 蓝牙通讯-蓝牙键鼠翻页.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-1 蓝牙通讯-蓝牙键鼠翻页.mix @@ -1 +1 @@ -ble_keyboard_mousetrueTrueWaiting...0TRUE784150659150WHILETRUEA1keyTrue0x000x4EA3keyTrue0x000x4Bms10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnV2FpdGluZy4uLicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNzg0LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLCAweDRFLCBUcnVlKQogICAgZWxpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwgMHg0QiwgVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file +ble_keyboard_mousetrueTrueWaiting...0TRUE784150659150WHILETRUEA1keyTrue0x000x4EA3keyTrue0x000x4Bms10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnV2FpdGluZy4uLicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIChibGVfaGlkLmlzX2Nvbm5lY3RlZCgpKToKICAgICAgICBicmVhawpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNzg0LCAxNTApCm9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDE1MCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfaGlkLmtleWJvYXJkX25vdGlmeSgweDAwLCAweDRFLCBUcnVlKQogICAgZWxpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5rZXlib2FyZF9ub3RpZnkoMHgwMCwgMHg0QiwgVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-2 蓝牙通讯-蓝牙键鼠点击.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-2 蓝牙通讯-蓝牙键鼠点击.mix index 6ea28986..6d0796f4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-2 蓝牙通讯-蓝牙键鼠点击.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/4-2-2 蓝牙通讯-蓝牙键鼠点击.mix @@ -1 +1 @@ -ble_keyboard_mousetrueTruewaitting0TRUE784150659150WHILETRUEB1keyTrue0x02000B2keyTrue0x01000ms10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnd2FpdHRpbmcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5tb3VzZV9ub3RpZnkoMHgwMiwgKDAsIDApICwwLCBUcnVlKQogICAgZWxpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5tb3VzZV9ub3RpZnkoMHgwMSwgKDAsIDApICwwLCBUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file +ble_keyboard_mousetrueTruewaitting0TRUE784150659150WHILETRUEB1keyTrue0x02000B2keyTrue0x01000ms10{}ZnJvbSBibGVfaGlkIGltcG9ydCBISUQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKCmJsZV9oaWQgPSBISUQoJ2JsZV9rZXlib2FyZF9tb3VzZScpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygnd2FpdHRpbmcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiAoYmxlX2hpZC5pc19jb25uZWN0ZWQoKSk6CiAgICAgICAgYnJlYWsKb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDc4NCwgMTUwKQpvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxNTApCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5tb3VzZV9ub3RpZnkoMHgwMiwgKDAsIDApICwwLCBUcnVlKQogICAgZWxpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgYmxlX2hpZC5tb3VzZV9ub3RpZnkoMHgwMSwgKDAsIDApICwwLCBUcnVlKQogICAgdGltZS5zbGVlcF9tcygxMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-1 高级无线通讯-带序号消息.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-1 高级无线通讯-带序号消息.mix index eea7d09f..e9753619 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-1 高级无线通讯-带序号消息.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-1 高级无线通讯-带序号消息.mix @@ -1 +1 @@ -1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydictmsgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBqc29uCmltcG9ydCBtYWNoaW5lCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICBkaWN0Y21kID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChkaWN0Y21kWyfluo/lj7cnXSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQpteWRpY3Q9IHsi5bqP5Y+3IjowLCAi5raI5oGvIjonbGlnaHQnfQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG15ZGljdFsn5bqP5Y+3J10gPSBteWRpY3RbJ+W6j+WPtyddICsgMQogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMobXlkaWN0KSkKY+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file +1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydictmsgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBqc29uCmltcG9ydCBtYWNoaW5lCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICBkaWN0Y21kID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChkaWN0Y21kWyfluo/lj7cnXSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQpteWRpY3Q9IHsi5bqP5Y+3IjowLCAi5raI5oGvIjonbGlnaHQnfQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG15ZGljdFsn5bqP5Y+3J10gPSBteWRpY3RbJ+W6j+WPtyddICsgMQogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMobXlkaWN0KSkKY+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-2 高级无线通讯-带回显消息发送.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-2 高级无线通讯-带回显消息发送.mix index 0f89bf75..ee23764f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-2 高级无线通讯-带回显消息发送.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-2 高级无线通讯-带回显消息发送.mix @@ -1 +1 @@ -msgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号dictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmd1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCmltcG9ydCBqc29uCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19zYW50CgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICBkaWN0Y21kID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChkaWN0Y21kWyfluo/lj7cnXSkKICAgIGlmIG5vdCBkaWN0Y21kLmdldCgn5Zue5aSNJyxGYWxzZSk6CiAgICAgICAgZGljdGNtZFsn5Zue5aSNJ10gPSBUcnVlCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhkaWN0Y21kKSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQpteWRpY3Q9IHsi5bqP5Y+3IjowLCAi5raI5oGvIjonbGlnaHQnfQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG15ZGljdFsn5bqP5Y+3J10gPSBteWRpY3RbJ+W6j+WPtyddICsgMQogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMobXlkaWN0KSkKY+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file +msgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号dictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmd1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCmltcG9ydCBqc29uCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19zYW50CgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICBkaWN0Y21kID0ganNvbi5sb2Fkcyhtc2cpCiAgICBwcmludChkaWN0Y21kWyfluo/lj7cnXSkKICAgIGlmIG5vdCBkaWN0Y21kLmdldCgn5Zue5aSNJyxGYWxzZSk6CiAgICAgICAgZGljdGNtZFsn5Zue5aSNJ10gPSBUcnVlCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhkaWN0Y21kKSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQpteWRpY3Q9IHsi5bqP5Y+3IjowLCAi5raI5oGvIjonbGlnaHQnfQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG15ZGljdFsn5bqP5Y+3J10gPSBteWRpY3RbJ+W6j+WPtyddICsgMQogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMobXlkaWN0KSkKY+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-3 高级无线通讯-可靠消息发送.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-3 高级无线通讯-可靠消息发送.mix index 897b77c1..d0a8a9df 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-3 高级无线通讯-可靠消息发送.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-3 高级无线通讯-可靠消息发送.mix @@ -1 +1 @@ -msgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号dictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmd1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpoYW5kbGVfbGlzdD1bXQppbXBvcnQganNvbgppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgbXNnID0gRVNQTm93X3JhZGlvX21zZwogICAgZGljdGNtZCA9IGpzb24ubG9hZHMobXNnKQogICAgcHJpbnQoZGljdGNtZFsn5bqP5Y+3J10pCiAgICBpZiBub3QgZGljdGNtZC5nZXQoJ+WbnuWkjScsRmFsc2UpOgogICAgICAgIGRpY3RjbWRbJ+WbnuWkjSddID0gVHJ1ZQogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMoZGljdGNtZCkpCgppZiBub3QgRVNQTm93X3JhZGlvX3JlY3YgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3YpCkVTUE5vd19yYWRpby5yZWN2X2NiKGhhbmRsZV9saXN0KQoKaW1wb3J0IG1peGdvX21pbmkKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCm15ZGljdD0geyLluo/lj7ciOjAsICLmtojmga8iOidsaWdodCd9CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXlkaWN0Wyfluo/lj7cnXSA9IG15ZGljdFsn5bqP5Y+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file +msgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号dictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmd1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpoYW5kbGVfbGlzdD1bXQppbXBvcnQganNvbgppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgbXNnID0gRVNQTm93X3JhZGlvX21zZwogICAgZGljdGNtZCA9IGpzb24ubG9hZHMobXNnKQogICAgcHJpbnQoZGljdGNtZFsn5bqP5Y+3J10pCiAgICBpZiBub3QgZGljdGNtZC5nZXQoJ+WbnuWkjScsRmFsc2UpOgogICAgICAgIGRpY3RjbWRbJ+WbnuWkjSddID0gVHJ1ZQogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMoZGljdGNtZCkpCgppZiBub3QgRVNQTm93X3JhZGlvX3JlY3YgaW4gaGFuZGxlX2xpc3Q6CiAgICBoYW5kbGVfbGlzdC5hcHBlbmQoRVNQTm93X3JhZGlvX3JlY3YpCkVTUE5vd19yYWRpby5yZWN2X2NiKGhhbmRsZV9saXN0KQoKaW1wb3J0IG1peGdvX21pbmkKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCm15ZGljdD0geyLluo/lj7ciOjAsICLmtojmga8iOidsaWdodCd9CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXlkaWN0Wyfluo/lj7cnXSA9IG15ZGljdFsn5bqP5Y+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-4 高级无线通讯-消息发送的异常处理.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-4 高级无线通讯-消息发送的异常处理.mix index f1e826d1..451de22d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-4 高级无线通讯-消息发送的异常处理.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-4 高级无线通讯-消息发送的异常处理.mix @@ -1 +1 @@ -msgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号dictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmdException as ee1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpoYW5kbGVfbGlzdD1bXQppbXBvcnQganNvbgppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgdHJ5OgogICAgICAgIG1zZyA9IEVTUE5vd19yYWRpb19tc2cKICAgICAgICBkaWN0Y21kID0ganNvbi5sb2Fkcyhtc2cpCiAgICAgICAgcHJpbnQoZGljdGNtZFsn5bqP5Y+3J10pCiAgICAgICAgaWYgbm90IGRpY3RjbWQuZ2V0KCflm57lpI0nLEZhbHNlKToKICAgICAgICAgICAgZGljdGNtZFsn5Zue5aSNJ10gPSBUcnVlCiAgICAgICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMoZGljdGNtZCkpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgppbXBvcnQgbWl4Z29fbWluaQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKbXlkaWN0PSB7IuW6j+WPtyI6MCwgIua2iOaBryI6J2xpZ2h0J30Kd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBteWRpY3RbJ+W6j+WPtyddID0gbXlkaWN0Wyfluo/lj7cnXSArIDEKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIixqc29uLmR1bXBzKG15ZGljdCkpCg== \ No newline at end of file +msgdictcmd{"name":"Mixly","color":"green"}msgMixlydictcmd序号dictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmdException as ee1Truemydict"序号""消息"0lightWHILETRUEB1keymydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCkVTUE5vd19yYWRpbz1yYWRpby5FU1BOb3coKQpoYW5kbGVfbGlzdD1bXQppbXBvcnQganNvbgppbXBvcnQgbWFjaGluZQpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLEVTUE5vd19yYWRpb19tc2cpOgogICAgdHJ5OgogICAgICAgIG1zZyA9IEVTUE5vd19yYWRpb19tc2cKICAgICAgICBkaWN0Y21kID0ganNvbi5sb2Fkcyhtc2cpCiAgICAgICAgcHJpbnQoZGljdGNtZFsn5bqP5Y+3J10pCiAgICAgICAgaWYgbm90IGRpY3RjbWQuZ2V0KCflm57lpI0nLEZhbHNlKToKICAgICAgICAgICAgZGljdGNtZFsn5Zue5aSNJ10gPSBUcnVlCiAgICAgICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLGpzb24uZHVtcHMoZGljdGNtZCkpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoZSkKCmlmIG5vdCBFU1BOb3dfcmFkaW9fcmVjdiBpbiBoYW5kbGVfbGlzdDoKICAgIGhhbmRsZV9saXN0LmFwcGVuZChFU1BOb3dfcmFkaW9fcmVjdikKRVNQTm93X3JhZGlvLnJlY3ZfY2IoaGFuZGxlX2xpc3QpCgppbXBvcnQgbWl4Z29fbWluaQoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKbXlkaWN0PSB7IuW6j+WPtyI6MCwgIua2iOaBryI6J2xpZ2h0J30Kd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBteWRpY3RbJ+W6j+WPtyddID0gbXlkaWN0Wyfluo/lj7cnXSArIDEKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIixqc29uLmR1bXBzKG15ZGljdCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-5 高级无线通讯-带反馈消息发送.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-5 高级无线通讯-带反馈消息发送.mix index 8a59503c..9a3e11d9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-5 高级无线通讯-带反馈消息发送.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期3/5-5 高级无线通讯-带反馈消息发送.mix @@ -1 +1 @@ -msgdictcmd{"name":"Mixly","color":"green"}msgEQdictcmd序号mydict序号TrueOK0TRUEdictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmdException as ee1Truemydict"序号""消息"0lightWHILETRUEB1keyTrue=0TRUEmydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCmltcG9ydCBqc29uCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHRyeToKICAgICAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICAgICAgZGljdGNtZCA9IGpzb24ubG9hZHMobXNnKQogICAgICAgIGlmIGRpY3RjbWRbJ+W6j+WPtyddID09IG15ZGljdFsn5bqP5Y+3J106CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBub3QgZGljdGNtZC5nZXQoJ+WbnuWkjScsRmFsc2UpOgogICAgICAgICAgICBkaWN0Y21kWyflm57lpI0nXSA9IFRydWUKICAgICAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhkaWN0Y21kKSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBwcmludChlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCm15ZGljdD0geyLluo/lj7ciOjAsICLmtojmga8iOidsaWdodCd9CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgbXlkaWN0Wyfluo/lj7cnXSA9IG15ZGljdFsn5bqP5Y+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file +msgdictcmd{"name":"Mixly","color":"green"}msgEQdictcmd序号mydict序号TrueOK0TRUEdictcmd回复0FALSEdictcmd回复0TRUEMixlydictcmdException as ee1Truemydict"序号""消息"0lightWHILETRUEB1keyTrue=0TRUEmydict序号0ADD1mydict序号1Mixlymydict{}aW1wb3J0IHJhZGlvCmltcG9ydCBqc29uCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHRyeToKICAgICAgICBtc2cgPSBFU1BOb3dfcmFkaW9fbXNnCiAgICAgICAgZGljdGNtZCA9IGpzb24ubG9hZHMobXNnKQogICAgICAgIGlmIGRpY3RjbWRbJ+W6j+WPtyddID09IG15ZGljdFsn5bqP5Y+3J106CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdPSycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBpZiBub3QgZGljdGNtZC5nZXQoJ+WbnuWkjScsRmFsc2UpOgogICAgICAgICAgICBkaWN0Y21kWyflm57lpI0nXSA9IFRydWUKICAgICAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhkaWN0Y21kKSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBwcmludChlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCm15ZGljdD0geyLluo/lj7ciOjAsICLmtojmga8iOidsaWdodCd9CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgbXlkaWN0Wyfluo/lj7cnXSA9IG15ZGljdFsn5bqP5Y+3J10gKyAxCiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsanNvbi5kdW1wcyhteWRpY3QpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-1 物联网入门-网络NTP测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-1 物联网入门-网络NTP测试.mix index 01c5b714..ff440a17 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-1 物联网入门-网络NTP测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-1 物联网入门-网络NTP测试.mix @@ -1 +1 @@ -fuhua312345678TrueMixlyxntp.aliyun.comntp.aliyun.com0TRUEWHILETRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpvbmJvYXJkX3RmdC5zaG93cyhzdHIobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file +fuhua312345678TrueMixlyxntp.aliyun.comntp.aliyun.com0TRUEWHILETRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpvbmJvYXJkX3RmdC5zaG93cyhzdHIobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-2 物联网入门-网络时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-2 物联网入门-网络时钟.mix index 127868d2..29d5721d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-2 物联网入门-网络时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-1-2 物联网入门-网络时钟.mix @@ -1 +1 @@ -xfuhua3123456782023,1,1,12,0,0ntp.aliyun.comntp.aliyun.commachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUETrueMixly0TRUEs1attachInterrupt_func2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comTrue时间同步成功0TRUEs1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQppbXBvcnQgbWFjaGluZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn5pe26Ze05ZCM5q2l5oiQ5YqfJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKbWl4Z29fc2FudC5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +xfuhua3123456782023,1,1,12,0,0ntp.aliyun.comntp.aliyun.commachine.Pin.IRQ_RISINGB1keyattachInterrupt_funcWHILETRUETrueMixly0TRUEs1attachInterrupt_func2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comTrue时间同步成功0TRUEs1{}aW1wb3J0IG1peGlvdAppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQppbXBvcnQgbWFjaGluZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgYXR0YWNoSW50ZXJydXB0X2Z1bmMoeCk6CiAgICBydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn5pe26Ze05ZCM5q2l5oiQ5YqfJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKbWl4Z29fc2FudC5CMWtleS5pcnEoaGFuZGxlcj1hdHRhY2hJbnRlcnJ1cHRfZnVuYywgdHJpZ2dlcj1tYWNoaW5lLlBpbi5JUlFfUklTSU5HKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-1 物联网入门-网络实时天气.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-1 物联网入门-网络实时天气.mix index f0e152c0..9c1adfb5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-1 物联网入门-网络实时天气.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-1 物联网入门-网络实时天气.mix @@ -1 +1 @@ -fuhua312345678WHILETRUEB1keyWeather_nowSVa3S0UKHIy9dDArs北京TrueMixly天气:Mixlytext0020255,255,0#ffffffFALSETrueMixly温度:Mixlytemperature04020255,255,0#ffffffFALSETrueMixly湿度:Mixlyhumidity08020255,255,0#ffffffFALSETrueMixly风向:Mixlywind_direction012020255,255,0#ffffffFALSETrueMixly风力:Mixlywind_scale016020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBXZWF0aGVyX25vdy5yZXF1ZXN0KCdTVmEzUzBVS0hJeTlkREFycycsICfljJfkuqwnKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflpKnmsJTvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRleHQiKSwgeD0wLCB5PTAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmuKnluqbvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRlbXBlcmF0dXJlIiksIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a5v+W6pu+8micgKyBXZWF0aGVyX25vdy5hbmFseXNpcygiaHVtaWRpdHkiKSwgeD0wLCB5PTgwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6aOO5ZCR77yaJyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJ3aW5kX2RpcmVjdGlvbiIpLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6aOO5Yqb77yaJyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJ3aW5kX3NjYWxlIiksIHg9MCwgeT0xNjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +fuhua312345678WHILETRUEB1keyWeather_nowSVa3S0UKHIy9dDArs北京TrueMixly天气:Mixlytext0020255,255,0#ffffffFALSETrueMixly温度:Mixlytemperature04020255,255,0#ffffffFALSETrueMixly湿度:Mixlyhumidity08020255,255,0#ffffffFALSETrueMixly风向:Mixlywind_direction012020255,255,0#ffffffFALSETrueMixly风力:Mixlywind_scale016020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBXZWF0aGVyX25vdy5yZXF1ZXN0KCdTVmEzUzBVS0hJeTlkREFycycsICfljJfkuqwnKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflpKnmsJTvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRleHQiKSwgeD0wLCB5PTAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmuKnluqbvvJonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRlbXBlcmF0dXJlIiksIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a5v+W6pu+8micgKyBXZWF0aGVyX25vdy5hbmFseXNpcygiaHVtaWRpdHkiKSwgeD0wLCB5PTgwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6aOO5ZCR77yaJyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJ3aW5kX2RpcmVjdGlvbiIpLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6aOO5Yqb77yaJyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJ3aW5kX3NjYWxlIiksIHg9MCwgeT0xNjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-2 物联网入门-网络天气预报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-2 物联网入门-网络天气预报.mix index 22c4eae1..00d1523c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-2 物联网入门-网络天气预报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-2-2 物联网入门-网络天气预报.mix @@ -1 +1 @@ -fuhua312345678WHILETRUEB1keyWeather_dailySVa3S0UKHIy9dDArs北京50,1,2,3051iFalseMixlyHellodate0iMixlytext_day0i00MULTIPLY501i20255,255,0#ffffffFALSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBXZWF0aGVyX2RhaWx5LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcsIDUpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgNSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoaSwgImRhdGUiKSArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoaSwgInRleHRfZGF5IiksIHg9MCwgeT01MCAqIGksIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +fuhua312345678WHILETRUEB1keyWeather_dailySVa3S0UKHIy9dDArs北京50,1,2,3051iFalseMixlyHellodate0iMixlytext_day0i00MULTIPLY501i20255,255,0#ffffffFALSE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIHNlbml2ZXJzZV9hcGkgaW1wb3J0ICoKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBXZWF0aGVyX2RhaWx5LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcsIDUpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgNSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoaSwgImRhdGUiKSArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMoaSwgInRleHRfZGF5IiksIHg9MCwgeT01MCAqIGksIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-1 物联网入门-光强定时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-1 物联网入门-光强定时上报.mix index 908dfc39..845c8c9d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-1 物联网入门-光强定时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-1 物联网入门-光强定时上报.mix @@ -1 +1 @@ -fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE光照msgls5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file +fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE光照msgls5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-2 物联网入门-环境定时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-2 物联网入门-环境定时上报.mix index c7936b4a..dd86e296 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-2 物联网入门-环境定时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-3-2 物联网入门-环境定时上报.mix @@ -1 +1 @@ -fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE环境msg"光照""温度""湿度"ltemperaturehumiditys5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKaW1wb3J0IHRpbWUKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQogICAgdGltZS5zbGVlcCg1KQo= \ No newline at end of file +fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE环境msg"光照""温度""湿度"ltemperaturehumiditys5{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKaW1wb3J0IHRpbWUKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQogICAgdGltZS5zbGVlcCg1KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-1 物联网入门-按键报警上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-1 物联网入门-按键报警上报.mix index 21564f37..0377c4c0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-1 物联网入门-按键报警上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-1 物联网入门-按键报警上报.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callbackWHILETRUEB1key警报按键按下tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+eOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLlhYnnhaciOiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua4qeW6piI6IG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksICLmub/luqYiOiBvbmJvYXJkX3Rocy5odW1pZGl0eSgpfSkpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforabmiqUnLCAn5oyJ6ZSu5oyJ5LiLJykK \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callbackWHILETRUEB1key警报按键按下tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+eOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLlhYnnhaciOiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua4qeW6piI6IG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksICLmub/luqYiOiBvbmJvYXJkX3Rocy5odW1pZGl0eSgpfSkpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICforabmiqUnLCAn5oyJ6ZSu5oyJ5LiLJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-2 物联网入门-曝光报警上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-2 物联网入门-曝光报警上报.mix index 4d07ed76..e95b2a03 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-2 物联网入门-曝光报警上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/1-4-2 物联网入门-曝光报警上报.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callbackWHILETRUEGTl20警报曝光报警s5tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+eOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLlhYnnhaciOiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua4qeW6piI6IG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksICLmub/luqYiOiBvbmJvYXJkX3Rocy5odW1pZGl0eSgpfSkpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMjA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K2m5oqlJywgJ+abneWFieaKpeitpicpCiAgICAgICAgdGltZS5zbGVlcCg1KQo=WVwKDUpCg== \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callbackWHILETRUEGTl20警报曝光报警s5tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+eOr+WigycsIG1peHB5LmZvcm1hdF9zdHIoeyLlhYnnhaciOiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSwgIua4qeW6piI6IG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksICLmub/luqYiOiBvbmJvYXJkX3Rocy5odW1pZGl0eSgpfSkpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMjA6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K2m5oqlJywgJ+abneWFieaKpeitpicpCiAgICAgICAgdGltZS5zbGVlcCg1KQo=WVwKDUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-1 物联网进阶- 远程开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-1 物联网进阶- 远程开关灯.mix index d121ce8f..382afd5a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-1 物联网进阶- 远程开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-1 物联网进阶- 远程开关灯.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯methodWHILETRUEmethodEQmsg11121EQmsg01020{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=ode> \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯methodWHILETRUEmethodEQmsg11121EQmsg01020{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBpZiBtc2cgPT0gJzAnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=ode> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-2 物联网进阶-单独控制远程开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-2 物联网进阶-单独控制远程开关灯.mix index f6b7d283..2a16cfb4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-2 物联网进阶-单独控制远程开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-1-2 物联网进阶-单独控制远程开关灯.mix @@ -1 +1 @@ -clienttopicmsgmethodEQmsg111EQmsg010fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯1method开灯2method2WHILETRUEmethod2EQmsg121EQmsg020{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4aW90CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8xJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8xJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8yJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA54GvMicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=ode> \ No newline at end of file +clienttopicmsgmethodEQmsg111EQmsg010fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯1method开灯2method2WHILETRUEmethod2EQmsg121EQmsg020{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4aW90CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8xJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8xJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8yJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA54GvMicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo=ode> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-1 物联网进阶-下发复杂数据远程开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-1 物联网进阶-下发复杂数据远程开关灯.mix index 03208b02..1f378cfb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-1 物联网进阶-下发复杂数据远程开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-1 物联网进阶-下发复杂数据远程开关灯.mix @@ -1 +1 @@ -clienttopicmsgmethodmydict{"name":"Mixly","color":"green"}msgEQmydictl111110EQmydictl212120fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯methodWHILETRUE{}aW1wb3J0IGpzb24KZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4aW90CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIGlmIG15ZGljdFsnbDEnXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBpZiBteWRpY3RbJ2wyJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8xJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8xJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8yJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA54GvMicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgmethodmydict{"name":"Mixly","color":"green"}msgEQmydictl111110EQmydictl212120fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯methodWHILETRUE{}aW1wb3J0IGpzb24KZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgbWl4aW90CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBteWRpY3QgPSBqc29uLmxvYWRzKG1zZykKICAgIGlmIG15ZGljdFsnbDEnXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICBpZiBteWRpY3RbJ2wyJ10gPT0gJzEnOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8nKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgbXNnID09ICcwJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8xJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDnga8xJykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8yJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA54GvMicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-2 物联网进阶-多类型复杂数据下发.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-2 物联网进阶-多类型复杂数据下发.mix index 8c10ad4f..817be87b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-2 物联网进阶-多类型复杂数据下发.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-2-2 物联网进阶-多类型复杂数据下发.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯methodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgEQmydictl111110EQmydictl212120TrueMixlymydicttxt0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgaWYgbXlkaWN0WydsMSddID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG15ZGljdFsnbDInXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyhteWRpY3RbJ3R4dCddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开灯methodWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgEQmydictl111110EQmydictl212120TrueMixlymydicttxt0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQganNvbgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgaWYgbXlkaWN0WydsMSddID09ICcxJzoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIGlmIG15ZGljdFsnbDInXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyhteWRpY3RbJ3R4dCddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-1 物联网进阶-远程控制欢迎屏幕.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-1 物联网进阶-远程控制欢迎屏幕.mix index 9d2212fc..1569870f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-1 物联网进阶-远程控制欢迎屏幕.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-1 物联网进阶-远程控制欢迎屏幕.mix @@ -1 +1 @@ -clienttopicmsg显示消息fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯method2WHILETRUENEQ显示消息Mixly显示消息method显示消息显示消息msgmethod2EQmsg11110{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLrmtojmga8KICAgIOaYvuekuua2iOaBryA9IG1zZwoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgoK5pi+56S65raI5oGvID0gJycKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLonLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuicpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA54GvJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDmmL7npLrmtojmga8gIT0gJyc6CiAgICAgICAgb25ib2FyZF90ZnQuc2Nyb2xsKOaYvuekuua2iOaBrywgY29sb3I9MHhmZmZmKQo= \ No newline at end of file +clienttopicmsg显示消息fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯method2WHILETRUENEQ显示消息Mixly显示消息method显示消息显示消息msgmethod2EQmsg11110{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLrmtojmga8KICAgIOaYvuekuua2iOaBryA9IG1zZwoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgoK5pi+56S65raI5oGvID0gJycKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCfmmL7npLonLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aYvuekuicpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA54GvJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA54GvJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDmmL7npLrmtojmga8gIT0gJyc6CiAgICAgICAgb25ib2FyZF90ZnQuc2Nyb2xsKOaYvuekuua2iOaBrywgY29sb3I9MHhmZmZmKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-2 物联网进阶-远程欢迎屏幕改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-2 物联网进阶-远程欢迎屏幕改进.mix index f6a422d5..9bfb0e32 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-2 物联网进阶-远程欢迎屏幕改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-3-2 物联网进阶-远程欢迎屏幕改进.mix @@ -1 +1 @@ -clienttopicmsgtim显示fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯method2timPERIODICtim200tim_callbackWHILETRUENEQ显示Mixly显示method显示显示msgmethod2EQmsg11110tim_callback{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLoKICAgIOaYvuekuiA9IG1zZwoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKCuaYvuekuiA9ICcnCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S6JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLonKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOeBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIOaYvuekuiAhPSAnJzoKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwo5pi+56S6LCBjb2xvcj0weGZmZmYpCg== \ No newline at end of file +clienttopicmsgtim显示fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯method2timPERIODICtim200tim_callbackWHILETRUENEQ显示Mixly显示method显示显示msgmethod2EQmsg11110tim_callback{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLoKICAgIOaYvuekuiA9IG1zZwoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQoKCuaYvuekuiA9ICcnCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5pi+56S6JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfmmL7npLonKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOeBrycsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIOaYvuekuiAhPSAnJzoKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwo5pi+56S6LCBjb2xvcj0weGZmZmYpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-1 物联网进阶-下发主题的使用.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-1 物联网进阶-下发主题的使用.mix index 26cca8d0..c1570f9d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-1 物联网进阶-下发主题的使用.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-1 物联网进阶-下发主题的使用.mix @@ -1 +1 @@ -clienttopicmsgtim显示fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯methodtimPERIODICtim200tim_callbackWHILETRUENEQ显示Mixly显示method显示EQtopic显示显示msgEQmsg11110tim_callback{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLoKICAgIGlmIHRvcGljID09ICfmmL7npLonOgogICAgICAgIOaYvuekuiA9IG1zZwogICAgZWxzZToKICAgICAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKCgrmmL7npLogPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuicsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S6JykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIOaYvuekuiAhPSAnJzoKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwo5pi+56S6LCBjb2xvcj0weGZmZmYpCg== \ No newline at end of file +clienttopicmsgtim显示fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯methodtimPERIODICtim200tim_callbackWHILETRUENEQ显示Mixly显示method显示EQtopic显示显示msgEQmsg11110tim_callback{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLoKICAgIGlmIHRvcGljID09ICfmmL7npLonOgogICAgICAgIOaYvuekuiA9IG1zZwogICAgZWxzZToKICAgICAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKCgrmmL7npLogPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuicsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S6JykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIOaYvuekuiAhPSAnJzoKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwo5pi+56S6LCBjb2xvcj0weGZmZmYpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-2 物联网进阶-板子控制板子开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-2 物联网进阶-板子控制板子开关灯.mix index 6177d98d..dfcc38c8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-2 物联网进阶-板子控制板子开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/2-4-2 物联网进阶-板子控制板子开关灯.mix @@ -1 +1 @@ -clienttopicmsgtim显示fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯methodtimPERIODICtim200tim_callbackWHILETRUEB1key开灯1B2key开灯2NEQ显示Mixly显示method显示EQtopic显示显示msgEQmsg11110tim_callback{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLoKICAgIGlmIHRvcGljID09ICfmmL7npLonOgogICAgICAgIOaYvuekuiA9IG1zZwogICAgZWxzZToKICAgICAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKCgrmmL7npLogPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuicsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S6JykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflvIDnga8nLCAnMScpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5byA54GvJywgJzInKQogICAgaWYg5pi+56S6ICE9ICcnOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmmL7npLosIGNvbG9yPTB4ZmZmZikK \ No newline at end of file +clienttopicmsgtim显示fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo显示method开灯methodtimPERIODICtim200tim_callbackWHILETRUEB1key开灯1B2key开灯2NEQ显示Mixly显示method显示EQtopic显示显示msgEQmsg11110tim_callback{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmmL7npLoKICAgIGlmIHRvcGljID09ICfmmL7npLonOgogICAgICAgIOaYvuekuiA9IG1zZwogICAgZWxzZToKICAgICAgICBpZiBtc2cgPT0gJzEnOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKCgrmmL7npLogPSAnJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aYvuekuicsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5pi+56S6JykKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDnga8nLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOeBrycpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMjAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflvIDnga8nLCAnMScpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5byA54GvJywgJzInKQogICAgaWYg5pi+56S6ICE9ICcnOgogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmmL7npLosIGNvbG9yPTB4ZmZmZikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-1 物联网精通-加入异常处理的物联网应用.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-1 物联网精通-加入异常处理的物联网应用.mix index f0114652..af2d3e54 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-1 物联网精通-加入异常处理的物联网应用.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-1 物联网精通-加入异常处理的物联网应用.mix @@ -1 +1 @@ -fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE声音msgs5Exception as ee{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKaW1wb3J0IHRpbWUKCnRyeToKICAgIG1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCiAgICBNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCiAgICBtcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKICAgIHdoaWxlIFRydWU6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aOw6Z+zJywgb25ib2FyZF9zb3VuZC5yZWFkKCkpCiAgICAgICAgdGltZS5zbGVlcCg1KQpleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICBwcmludChlKQogICAgbWFjaGluZS5yZXNldCgpCg==NDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFpycsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file +fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE声音msgs5Exception as ee{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKaW1wb3J0IHRpbWUKCnRyeToKICAgIG1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCiAgICBNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCiAgICBtcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKICAgIHdoaWxlIFRydWU6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aOw6Z+zJywgb25ib2FyZF9zb3VuZC5yZWFkKCkpCiAgICAgICAgdGltZS5zbGVlcCg1KQpleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICBwcmludChlKQogICAgbWFjaGluZS5yZXNldCgpCg==NDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFieeFpycsIG9uYm9hcmRfYWxzLmFsc192aXMoKSkKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-2 物联网精通-加入看门狗的物联网应用.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-2 物联网精通-加入看门狗的物联网应用.mix index ceb8b347..1cf250d4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-2 物联网精通-加入看门狗的物联网应用.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-1-2 物联网精通-加入看门狗的物联网应用.mix @@ -1 +1 @@ -10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE声音msgs5{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKaW1wb3J0IHRpbWUKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aOw6Z+zJywgb25ib2FyZF9zb3VuZC5yZWFkKCkpCiAgICB0aW1lLnNsZWVwKDUpCiAgICB3ZHQuZmVlZCgpCg== \ No newline at end of file +10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE声音msgs5{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKaW1wb3J0IHRpbWUKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aOw6Z+zJywgb25ib2FyZF9zb3VuZC5yZWFkKCkpCiAgICB0aW1lLnNsZWVwKDUpCiAgICB3ZHQuZmVlZCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-1 物联网精通-综合使用异常和看门狗.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-1 物联网精通-综合使用异常和看门狗.mix index ab932c82..649c4d8b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-1 物联网精通-综合使用异常和看门狗.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-1 物联网精通-综合使用异常和看门狗.mix @@ -1 +1 @@ -10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE声音msgs5Exception as ee{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKaW1wb3J0IHRpbWUKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgdHJ5OgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WjsOmfsycsIG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgICAgIHRpbWUuc2xlZXAoNSkKICAgICAgICB3ZHQuZmVlZCgpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoZSkKvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIHRyeToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICAgICAgdGltZS5zbGVlcCg1KQogICAgICAgIHdkdC5mZWVkKCkKICAgICAgICBwcmludCgoMSAvIDApKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIHByaW50KGUpCg== \ No newline at end of file +10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE声音msgs5Exception as ee{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKaW1wb3J0IHRpbWUKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgdHJ5OgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WjsOmfsycsIG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgICAgIHRpbWUuc2xlZXAoNSkKICAgICAgICB3ZHQuZmVlZCgpCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgcHJpbnQoZSkKvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKd2hpbGUgVHJ1ZToKICAgIHRyeToKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhYnnhacnLCBvbmJvYXJkX2Fscy5hbHNfdmlzKCkpCiAgICAgICAgdGltZS5zbGVlcCg1KQogICAgICAgIHdkdC5mZWVkKCkKICAgICAgICBwcmludCgoMSAvIDApKQogICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgIHByaW50KGUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-2 物联网精通- MQTT人脸识别测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-2 物联网精通- MQTT人脸识别测试.mix index 3f6268e0..47df7bfe 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-2 物联网精通- MQTT人脸识别测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-2 物联网精通- MQTT人脸识别测试.mix @@ -1 +1 @@ -clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodMixlymsg{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgcHJpbnQobXNnKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHdkdC5mZWVkKCkKVlZCgpCg== \ No newline at end of file +clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodWHILETRUEmethodMixlymsg{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgcHJpbnQobXNnKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHdkdC5mZWVkKCkKVlZCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-3 物联网精通- MQTT人脸识别开锁.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-3 物联网精通- MQTT人脸识别开锁.mix index 5aff3896..25b6c34c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-3 物联网精通- MQTT人脸识别开锁.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-2-3 物联网精通- MQTT人脸识别开锁.mix @@ -1 +1 @@ -clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodobject_picture.DOOR_CLOSETRUEWHILETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixly检测到录入的人脸检测到录入的人脸object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQo5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4KQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file +clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodobject_picture.DOOR_CLOSETRUEWHILETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixly检测到录入的人脸检测到录入的人脸object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQo5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4KQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-1 物联网精通- 显示姓名开锁.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-1 物联网精通- 显示姓名开锁.mix index a79a04f9..0a5cfe0f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-1 物联网精通- 显示姓名开锁.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-1 物联网精通- 显示姓名开锁.mix @@ -1 +1 @@ -clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodobject_picture.DOOR_CLOSETRUEWHILETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixly检测到录入的人脸检测到录入的人脸姓名mydict{"name":"Mixly","color":"green"}msgnameMixly姓名object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQo5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4KQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIOWnk+WQjSA9IGpzb24ubG9hZHMobXNnKVsnbmFtZSddCiAgICAgICAgb25ib2FyZF90ZnQuc2Nyb2xsKOWnk+WQjSwgY29sb3I9MHhmZmZmKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file +clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodobject_picture.DOOR_CLOSETRUEWHILETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixly检测到录入的人脸检测到录入的人脸姓名mydict{"name":"Mixly","color":"green"}msgnameMixly姓名object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQo5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4KQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIOWnk+WQjSA9IGpzb24ubG9hZHMobXNnKVsnbmFtZSddCiAgICAgICAgb25ib2FyZF90ZnQuc2Nyb2xsKOWnk+WQjSwgY29sb3I9MHhmZmZmKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ2ZhY2UnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ2ZhY2UnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-2 物联网精通- 上报开锁信息.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-2 物联网精通- 上报开锁信息.mix index 5d7b3d1b..80c55e44 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-2 物联网精通- 上报开锁信息.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-3-2 物联网精通- 上报开锁信息.mix @@ -1 +1 @@ -clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodobject_picture.DOOR_CLOSETRUEWHILETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixly检测到录入的人脸检测到录入的人脸姓名mydict{"name":"Mixly","color":"green"}msgname开门用户msg姓名Mixly姓名object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQo5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4KQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIOWnk+WQjSA9IGpzb24ubG9hZHMobXNnKVsnbmFtZSddCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5byA6Zeo55So5oi3Jywg5aeT5ZCNKQogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjlp5PlkI0sIGNvbG9yPTB4ZmZmZikKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgp3ZHQgPSBtYWNoaW5lLldEVCh0aW1lb3V0PSAxMDAwMCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICB3ZHQuZmVlZCgpCg== \ No newline at end of file +clienttopicmsg云端使用人脸识别组件10000fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethodobject_picture.DOOR_CLOSETRUEWHILETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixly检测到录入的人脸检测到录入的人脸姓名mydict{"name":"Mixly","color":"green"}msgname开门用户msg姓名Mixly姓名object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQo5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4KQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIOWnk+WQjSA9IGpzb24ubG9hZHMobXNnKVsnbmFtZSddCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5byA6Zeo55So5oi3Jywg5aeT5ZCNKQogICAgICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjlp5PlkI0sIGNvbG9yPTB4ZmZmZikKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgp3ZHQgPSBtYWNoaW5lLldEVCh0aW1lb3V0PSAxMDAwMCkKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCdmYWNlJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICdmYWNlJykKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICB3ZHQuZmVlZCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-1 物联网精通- 不联网开门模式切换.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-1 物联网精通- 不联网开门模式切换.mix index a2929922..f81de2cc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-1 物联网精通- 不联网开门模式切换.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-1 物联网精通- 不联网开门模式切换.mix @@ -1 +1 @@ -10000mytup人脸识别红外接近按钮手动开门模式0WHILETRUEB1key开门模式QUYU1ADD1开门模式13TrueMixlymytup0开门模式0TRUEEQ开门模式1GTl100EQ开门模式2B2key开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgpkZWYg5byA6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgp3ZHQgPSBtYWNoaW5lLldEVCh0aW1lb3V0PSAxMDAwMCkKbXl0dXA9ICgn5Lq66IS46K+G5YirJywgJ+e6ouWkluaOpei/kScsICfmjInpkq7miYvliqgnKQrlvIDpl6jmqKHlvI8gPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA6Zeo5qih5byPID0gKOW8gOmXqOaooeW8jyArIDEpICUgMwogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W8gOmXqOaooeW8j10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAxOgogICAgICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICAgICAg5byA6ZeoKCkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAyOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5byA6ZeoKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file +10000mytup人脸识别红外接近按钮手动开门模式0WHILETRUEB1key开门模式QUYU1ADD1开门模式13TrueMixlymytup0开门模式0TRUEEQ开门模式1GTl100EQ开门模式2B2key开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCgpkZWYg5byA6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgp3ZHQgPSBtYWNoaW5lLldEVCh0aW1lb3V0PSAxMDAwMCkKbXl0dXA9ICgn5Lq66IS46K+G5YirJywgJ+e6ouWkluaOpei/kScsICfmjInpkq7miYvliqgnKQrlvIDpl6jmqKHlvI8gPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA6Zeo5qih5byPID0gKOW8gOmXqOaooeW8jyArIDEpICUgMwogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W8gOmXqOaooeW8j10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAxOgogICAgICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICAgICAg5byA6ZeoKCkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAyOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5byA6ZeoKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-2 物联网精通- 多模式开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-2 物联网精通- 多模式开门.mix index 5db8a2ec..35de68f3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-2 物联网精通- 多模式开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/3-4-2 物联网精通- 多模式开门.mix @@ -1 +1 @@ -clienttopicmsg10000mytup人脸识别红外接近按钮手动fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethod开门模式0WHILETRUEB1key开门模式QUYU1ADD1开门模式13TrueMixlymytup0开门模式0TRUEEQ开门模式1GTl100EQ开门模式2B2key开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixlymsg检测到录入的人脸EQ开门模式0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKaW1wb3J0IGpzb24KCmRlZiDlvIDpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgyKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQobXNnKQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIGlmIOW8gOmXqOaooeW8jyA9PSAwOgogICAgICAgICAgICDlvIDpl6goKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQpteXR1cD0gKCfkurrohLjor4bliKsnLCAn57qi5aSW5o6l6L+RJywgJ+aMiemSruaJi+WKqCcpCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnZmFjZScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnZmFjZScpCuW8gOmXqOaooeW8jyA9IDAKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA6Zeo5qih5byPID0gKOW8gOmXqOaooeW8jyArIDEpICUgMwogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W8gOmXqOaooeW8j10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAxOgogICAgICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICAgICAg5byA6ZeoKCkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAyOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5byA6ZeoKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file +clienttopicmsg10000mytup人脸识别红外接近按钮手动fuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demofacemethod开门模式0WHILETRUEB1key开门模式QUYU1ADD1开门模式13TrueMixlymytup0开门模式0TRUEEQ开门模式1GTl100EQ开门模式2B2key开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEmethod检测到录入的人脸mydict{"name":"Mixly","color":"green"}msgstatusMixlymsg检测到录入的人脸EQ开门模式0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGlvdApmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKaW1wb3J0IGpzb24KCmRlZiDlvIDpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgyKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4ID0ganNvbi5sb2Fkcyhtc2cpWydzdGF0dXMnXQogICAgcHJpbnQobXNnKQogICAgaWYg5qOA5rWL5Yiw5b2V5YWl55qE5Lq66IS4OgogICAgICAgIGlmIOW8gOmXqOaooeW8jyA9PSAwOgogICAgICAgICAgICDlvIDpl6goKQoKCndkdCA9IG1hY2hpbmUuV0RUKHRpbWVvdXQ9IDEwMDAwKQpteXR1cD0gKCfkurrohLjor4bliKsnLCAn57qi5aSW5o6l6L+RJywgJ+aMiemSruaJi+WKqCcpCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygnZmFjZScsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAnZmFjZScpCuW8gOmXqOaooeW8jyA9IDAKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA6Zeo5qih5byPID0gKOW8gOmXqOaooeW8jyArIDEpICUgMwogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W8gOmXqOaooeW8j10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAxOgogICAgICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMDoKICAgICAgICAgICAg5byA6ZeoKCkKICAgIGlmIOW8gOmXqOaooeW8jyA9PSAyOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5byA6ZeoKCkKICAgIHdkdC5mZWVkKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-1 课堂互动-自由签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-1 课堂互动-自由签到.mix index e242c001..03be5b0f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-1 课堂互动-自由签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-1 课堂互动-自由签到.mix @@ -1 +1 @@ -本机用户米思齐fuhua312345678mixio.mixly.cn04f28fWHILETRUETrue按下签到0TRUEB1key姓名msg本机用户True按下签到Hello本机用户签到成功0TRUEs2{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoK5pys5py655So5oi3ID0gJ+exs+aAnem9kCcKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygn5oyJ5LiL562+5YiwJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIOacrOacuueUqOaItykKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjmnKzmnLrnlKjmiLcgKyAn562+5Yiw5oiQ5YqfJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikK9CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +本机用户米思齐fuhua312345678mixio.mixly.cn04f28fWHILETRUETrue按下签到0TRUEB1key姓名msg本机用户True按下签到Hello本机用户签到成功0TRUEs2{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoK5pys5py655So5oi3ID0gJ+exs+aAnem9kCcKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cygn5oyJ5LiL562+5YiwJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+Wnk+WQjScsIOacrOacuueUqOaItykKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjmnKzmnLrnlKjmiLcgKyAn562+5Yiw5oiQ5YqfJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikK9CQV9FN185NF9BOF9FNl84OF9CNykKICAgICAgICBvbmJvYXJkX21hdHJpeC5zY3JvbGwoX0U2XzlDX0FDX0U2XzlDX0JBX0U3Xzk0X0E4X0U2Xzg4X0I3KQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3dzKCdPSycsc3BhY2UgPSAwLGNlbnRlciA9IEZhbHNlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cygnR08nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-2 课堂互动-按需签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-2 课堂互动-按需签到.mix index 8d382424..26d2a0d3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-2 课堂互动-按需签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-1-2 课堂互动-按需签到.mix @@ -1 +1 @@ -clienttopicmsg本机用户米思齐开始签到FALSEfuhua312345678mixio.mixly.cn04f28f开始签到methodFalse==0WHILETRUE开始签到B1keyTRUE姓名msg本机用户开始签到FALSETrue签到成功0TRUEs1True==0TRUEmethod开始签到EQmsg1开始签到TRUETrue开始签到0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+etvuWIsAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vnrb7liLAgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W8gOWni+etvuWIsCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrmnKzmnLrnlKjmiLcgPSAn57Gz5oCd6b2QJwrlvIDlp4vnrb7liLAgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTA0ZjI4ZicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrb7liLAnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etvuWIsCcpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562+5YiwOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywg5pys5py655So5oi3KQogICAgICAgICAgICDlvIDlp4vnrb7liLAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn562+5Yiw5oiQ5YqfJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file +clienttopicmsg本机用户米思齐开始签到FALSEfuhua312345678mixio.mixly.cn04f28f开始签到methodFalse==0WHILETRUE开始签到B1keyTRUE姓名msg本机用户开始签到FALSETrue签到成功0TRUEs1True==0TRUEmethod开始签到EQmsg1开始签到TRUETrue开始签到0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+etvuWIsAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vnrb7liLAgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W8gOWni+etvuWIsCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrmnKzmnLrnlKjmiLcgPSAn57Gz5oCd6b2QJwrlvIDlp4vnrb7liLAgPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTA0ZjI4ZicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vnrb7liLAnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+etvuWIsCcpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1GYWxzZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg5byA5aeL562+5YiwOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5aeT5ZCNJywg5pys5py655So5oi3KQogICAgICAgICAgICDlvIDlp4vnrb7liLAgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn562+5Yiw5oiQ5YqfJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKJkX21hdHJpeC5zaG93cygnPT0nLHNwYWNlID0gMCxjZW50ZXIgPSBGYWxzZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-1 课堂互动-一人抢答.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-1 课堂互动-一人抢答.mix index efec1450..4d29d211 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-1 课堂互动-一人抢答.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-1 课堂互动-一人抢答.mix @@ -1 +1 @@ -clienttopicmsg本机用户米思齐抢答者开始抢答FALSEfuhua312345678mixio.mixly.cn04f28f开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1key抢答者msg本机用户True抢答发送0TRUEs1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者True==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrue开始抢答0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIUKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhSA9IG1zZwogICAg5byA5aeL5oqi562UID0gRmFsc2UKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmiqLnrZTogIUsIGNvbG9yPTB4ZmZmZikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL5oqi562UID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vmiqLnrZQnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoK5pys5py655So5oi3ID0gJ+exs+aAnem9kCcK5oqi562U6ICFID0gJycK5byA5aeL5oqi562UID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vmiqLnrZQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTogIUnLCDmnKzmnLrnlKjmiLcpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmiqLnrZTlj5HpgIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAg5byA5aeL5oqi562UID0gRmFsc2UK \ No newline at end of file +clienttopicmsg本机用户米思齐抢答者开始抢答FALSEfuhua312345678mixio.mixly.cn04f28f开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1key抢答者msg本机用户True抢答发送0TRUEs1开始抢答FALSEmethod2抢答者开始抢答抢答者msg开始抢答FALSEMixly抢答者True==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrue开始抢答0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIUKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhSA9IG1zZwogICAg5byA5aeL5oqi562UID0gRmFsc2UKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCjmiqLnrZTogIUsIGNvbG9yPTB4ZmZmZikKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL5oqi562UID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vmiqLnrZQnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCgoK5pys5py655So5oi3ID0gJ+exs+aAnem9kCcK5oqi562U6ICFID0gJycK5byA5aeL5oqi562UID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL5oqi562UJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vmiqLnrZQnKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+aKouetlOiAhScsbWV0aG9kMiwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScpCm9uYm9hcmRfdGZ0LnNob3dzKCc9PScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vmiqLnrZQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfmiqLnrZTogIUnLCDmnKzmnLrnlKjmiLcpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmiqLnrZTlj5HpgIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAg5byA5aeL5oqi562UID0gRmFsc2UK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-2 课堂互动-多人抢答.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-2 课堂互动-多人抢答.mix index 6bdaeda5..734987c1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-2 课堂互动-多人抢答.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-2-2 课堂互动-多人抢答.mix @@ -1 +1 @@ -clienttopicmsg抢答者集合开始抢答FALSE本机用户米思齐fuhua312345678mixio.mixly.cn04f28f开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1key抢答者msg本机用户True抢答发送0TRUEs1开始抢答FALSETrue==0TRUEmethod2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSETrue==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrue开始抢答0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIXpm4blkIgKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhembhuWQiC5hZGQobXNnKQogICAgaWYgbGVuKOaKouetlOiAhembhuWQiCkgPj0gMjoKICAgICAgICDmiqLnrZTogIXpm4blkIggPSBzZXQoKQogICAgICAgIOW8gOWni+aKouetlCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+aKouetlAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vmiqLnrZQgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W8gOWni+aKouetlCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrmiqLnrZTogIXpm4blkIggPSBzZXQoKQrlvIDlp4vmiqLnrZQgPSBGYWxzZQrmnKzmnLrnlKjmiLcgPSAn57Gz5oCd6b2QJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTA0ZjI4ZicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+aKouetlDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIOacrOacuueUqOaItykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aKouetlOWPkemAgScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICDlvIDlp4vmiqLnrZQgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnPT0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +clienttopicmsg抢答者集合开始抢答FALSE本机用户米思齐fuhua312345678mixio.mixly.cn04f28f开始抢答method抢答者method2True==0TRUEWHILETRUE开始抢答B1key抢答者msg本机用户True抢答发送0TRUEs1开始抢答FALSETrue==0TRUEmethod2抢答者集合开始抢答add抢答者集合0msgGTE抢答者集合2抢答者集合开始抢答FALSETrue==0TRUEmethod开始抢答EQmsg1开始抢答TRUETrue开始抢答0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKZGVmIG1ldGhvZDIoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDmiqLnrZTogIXpm4blkIgKICAgIGdsb2JhbCDlvIDlp4vmiqLnrZQKICAgIOaKouetlOiAhembhuWQiC5hZGQobXNnKQogICAgaWYgbGVuKOaKouetlOiAhembhuWQiCkgPj0gMjoKICAgICAgICDmiqLnrZTogIXpm4blkIggPSBzZXQoKQogICAgICAgIOW8gOWni+aKouetlCA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+aKouetlAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vmiqLnrZQgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W8gOWni+aKouetlCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgrmiqLnrZTogIXpm4blkIggPSBzZXQoKQrlvIDlp4vmiqLnrZQgPSBGYWxzZQrmnKzmnLrnlKjmiLcgPSAn57Gz5oCd6b2QJwptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTA0ZjI4ZicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlp4vmiqLnrZQnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWni+aKouetlCcpCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5oqi562U6ICFJyxtZXRob2QyLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5oqi562U6ICFJykKb25ib2FyZF90ZnQuc2hvd3MoJz09Jywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+aKouetlDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aKouetlOiAhScsIOacrOacuueUqOaItykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+aKouetlOWPkemAgScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICDlvIDlp4vmiqLnrZQgPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygnPT0nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-1 课堂互动-单选答题.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-1 课堂互动-单选答题.mix index 8af2c0a8..33cb71f9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-1 课堂互动-单选答题.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-1 课堂互动-单选答题.mix @@ -1 +1 @@ -clienttopicmsg答题结果==开始答题FALSEfuhua312345678mixio.mixly.cn04f28f开始答题methodWHILETRUE开始答题A1key答题结果AA2key答题结果BA3key答题结果CA4key答题结果DNEQ答题结果==True开始答题答题结果0TRUE选项A答题结果开始答题FALSE659100True开始答题答题结果0TRUEmethod开始答题答题结果EQmsg1开始答题TRUETrue开始答题0TRUE答题结果=={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDnrZTpopjnu5PmnpwKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vnrZTpopgnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg562U6aKY57uT5p6cID0gJz09JwoKCuetlOmimOe7k+aenCA9ICc9PScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+etlOmimDoKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnQicKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdEJwogICAgICAgIGlmIOetlOmimOe7k+aenCAhPSAnPT0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg562U6aKY57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOetlOmimOe7k+aenCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +clienttopicmsg答题结果==开始答题FALSEfuhua312345678mixio.mixly.cn04f28f开始答题methodWHILETRUE开始答题A1key答题结果AA2key答题结果BA3key答题结果CA4key答题结果DNEQ答题结果==True开始答题答题结果0TRUE选项A答题结果开始答题FALSE659100True开始答题答题结果0TRUEmethod开始答题答题结果EQmsg1开始答题TRUETrue开始答题0TRUE答题结果=={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDnrZTpopjnu5PmnpwKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vnrZTpopgnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg562U6aKY57uT5p6cID0gJz09JwoKCuetlOmimOe7k+aenCA9ICc9PScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+etlOmimDoKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnQicKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdEJwogICAgICAgIGlmIOetlOmimOe7k+aenCAhPSAnPT0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg562U6aKY57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOetlOmimOe7k+aenCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-2 课堂互动-多选答题.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-2 课堂互动-多选答题.mix index 813b56c4..e2700fcb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-2 课堂互动-多选答题.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-3-2 课堂互动-多选答题.mix @@ -1 +1 @@ -clienttopicmsg开始答题FALSE答题结果==fuhua312345678mixio.mixly.cn04f28f开始答题methodWHILETRUE开始答题A1key答题结果HelloHello,mixly答题结果AAA2key答题结果HelloHello,mixly答题结果BBA3key答题结果HelloHello,mixly答题结果CCA4key答题结果HelloHello,mixly答题结果DDNEQ答题结果==答题结果Hello,mixly答题结果==True发送成功答题结果0TRUEB1key选项A答题结果True发送成功0TRUE开始答题FALSE659100True发送成功答题结果0TRUEmethod开始答题答题结果EQmsg1开始答题TRUETrue开始答题0TRUE答题结果=={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDnrZTpopjnu5PmnpwKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vnrZTpopgnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg562U6aKY57uT5p6cID0gJz09JwoKCuW8gOWni+etlOmimCA9IEZhbHNlCuetlOmimOe7k+aenCA9ICc9PScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+etlOmimDoKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9IOetlOmimOe7k+aenC5yZXBsYWNlKCdBJywnJykgKyAnQScKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0g562U6aKY57uT5p6cLnJlcGxhY2UoJ0InLCcnKSArICdCJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSDnrZTpopjnu5PmnpwucmVwbGFjZSgnQycsJycpICsgJ0MnCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9IOetlOmimOe7k+aenC5yZXBsYWNlKCdEJywnJykgKyAnRCcKICAgICAgICBpZiDnrZTpopjnu5PmnpwgIT0gJz09JzoKICAgICAgICAgICAg562U6aKY57uT5p6cID0g562U6aKY57uT5p6cLnJlcGxhY2UoJz09JywnJykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo562U6aKY57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOetlOmimOe7k+aenCkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflj5HpgIHmiJDlip8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +clienttopicmsg开始答题FALSE答题结果==fuhua312345678mixio.mixly.cn04f28f开始答题methodWHILETRUE开始答题A1key答题结果HelloHello,mixly答题结果AAA2key答题结果HelloHello,mixly答题结果BBA3key答题结果HelloHello,mixly答题结果CCA4key答题结果HelloHello,mixly答题结果DDNEQ答题结果==答题结果Hello,mixly答题结果==True发送成功答题结果0TRUEB1key选项A答题结果True发送成功0TRUE开始答题FALSE659100True发送成功答题结果0TRUEmethod开始答题答题结果EQmsg1开始答题TRUETrue开始答题0TRUE答题结果=={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDnrZTpopjnu5PmnpwKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vnrZTpopgnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg562U6aKY57uT5p6cID0gJz09JwoKCuW8gOWni+etlOmimCA9IEZhbHNlCuetlOmimOe7k+aenCA9ICc9PScKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5aeL562U6aKYJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlp4vnrZTpopgnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+etlOmimDoKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9IOetlOmimOe7k+aenC5yZXBsYWNlKCdBJywnJykgKyAnQScKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0g562U6aKY57uT5p6cLnJlcGxhY2UoJ0InLCcnKSArICdCJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSDnrZTpopjnu5PmnpwucmVwbGFjZSgnQycsJycpICsgJ0MnCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9IOetlOmimOe7k+aenC5yZXBsYWNlKCdEJywnJykgKyAnRCcKICAgICAgICBpZiDnrZTpopjnu5PmnpwgIT0gJz09JzoKICAgICAgICAgICAg562U6aKY57uT5p6cID0g562U6aKY57uT5p6cLnJlcGxhY2UoJz09JywnJykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo562U6aKY57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOetlOmimOe7k+aenCkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflj5HpgIHmiJDlip8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-1 课堂互动-点名答题.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-1 课堂互动-点名答题.mix index c9c126ec..a75391a5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-1 课堂互动-点名答题.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-1 课堂互动-点名答题.mix @@ -1 +1 @@ -clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDpgInmi6nnu5PmnpwKICAgIGlmIG1zZyA9PSDmnKzmnLrnlKjmiLc6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdHTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICDpgInmi6nnu5PmnpwgPSAnPScKCgrmnKzmnLrnlKjmiLcgPSAnbWl4bHknCuetlOmimOe7k+aenCA9ICc9JwrlvIDlp4vnrZTpopggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+etlOmimOeUqOaItycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn562U6aKY55So5oi3JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrZTpopg6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQScKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0InCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdDJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnRCcKICAgICAgICBpZiDpgInmi6nnu5PmnpwgIT0gJz0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjpgInmi6nnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg6YCJ5oup57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg==ICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file +clienttopicmsg本机用户mixly答题结果=开始答题FALSEfuhua31234567890mixio.mixly.cn7b6443答题用户methodWHILETRUE开始答题A1key选择结果AA2key选择结果BA3key选择结果CA4key选择结果DNEQ选择结果=TrueGO选择结果0TRUE选项A选择结果开始答题FALSE659100method开始答题选择结果EQmsg本机用户开始答题TRUETrueGO0TRUE选择结果={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDpgInmi6nnu5PmnpwKICAgIGlmIG1zZyA9PSDmnKzmnLrnlKjmiLc6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdHTycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICDpgInmi6nnu5PmnpwgPSAnPScKCgrmnKzmnLrnlKjmiLcgPSAnbWl4bHknCuetlOmimOe7k+aenCA9ICc9JwrlvIDlp4vnrZTpopggPSBGYWxzZQptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2Nzg5MCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9N2I2NDQzJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+etlOmimOeUqOaItycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn562U6aKY55So5oi3JykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrZTpopg6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnQScKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup57uT5p6cID0gJ0InCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqee7k+aenCA9ICdDJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nnu5PmnpwgPSAnRCcKICAgICAgICBpZiDpgInmi6nnu5PmnpwgIT0gJz0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjpgInmi6nnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg6YCJ5oup57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg==ICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5JywgX0U5XzgwXzg5X0U2XzhCX0E5X0U3X0JCXzkzX0U2XzlFXzlDKQogICAgICAgICAgICBfRTVfQkNfODBfRTVfQTdfOEJfRTdfQURfOTRfRTlfQTJfOTggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-2 课堂互动-多人点答.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-2 课堂互动-多人点答.mix index 11ddf7ee..100aa6fa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-2 课堂互动-多人点答.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期4/4-4-2 课堂互动-多人点答.mix @@ -1 +1 @@ -clienttopicmsg答题结果==开始答题FALSE本机用户米思齐fuhua312345678mixio.mixly.cn04f28f答题用户methodWHILETRUE开始答题A1key答题结果AA2key答题结果BA3key答题结果CA4key答题结果DNEQ答题结果==True开始答题答题结果0TRUE选项A答题结果开始答题FALSE659100True开始答题答题结果0TRUEmethod开始答题答题结果MixlyHello,mixlymsgl本机用户GTHello,mixlymsgl本机用户-1开始答题TRUETrue开始答题0TRUE答题结果=={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDnrZTpopjnu5PmnpwKICAgIHByaW50KG1zZy5maW5kKOacrOacuueUqOaItykpCiAgICBpZiBtc2cuZmluZCjmnKzmnLrnlKjmiLcpID4gLTE6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vnrZTpopgnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg562U6aKY57uT5p6cID0gJz09JwoKCuetlOmimOe7k+aenCA9ICc9PScK5byA5aeL562U6aKYID0gRmFsc2UK5pys5py655So5oi3ID0gJ+exs+aAnem9kCcKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+etlOmimDoKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnQicKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdEJwogICAgICAgIGlmIOetlOmimOe7k+aenCAhPSAnPT0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg562U6aKY57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOetlOmimOe7k+aenCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +clienttopicmsg答题结果==开始答题FALSE本机用户米思齐fuhua312345678mixio.mixly.cn04f28f答题用户methodWHILETRUE开始答题A1key答题结果AA2key答题结果BA3key答题结果CA4key答题结果DNEQ答题结果==True开始答题答题结果0TRUE选项A答题结果开始答题FALSE659100True开始答题答题结果0TRUEmethod开始答题答题结果MixlyHello,mixlymsgl本机用户GTHello,mixlymsgl本机用户-1开始答题TRUETrue开始答题0TRUE答题结果=={}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDlvIDlp4vnrZTpopgKICAgIGdsb2JhbCDnrZTpopjnu5PmnpwKICAgIHByaW50KG1zZy5maW5kKOacrOacuueUqOaItykpCiAgICBpZiBtc2cuZmluZCjmnKzmnLrnlKjmiLcpID4gLTE6CiAgICAgICAg5byA5aeL562U6aKYID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvIDlp4vnrZTpopgnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg562U6aKY57uT5p6cID0gJz09JwoKCuetlOmimOe7k+aenCA9ICc9PScK5byA5aeL562U6aKYID0gRmFsc2UK5pys5py655So5oi3ID0gJ+exs+aAnem9kCcKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn562U6aKY55So5oi3JyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICfnrZTpopjnlKjmiLcnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGlmIOW8gOWni+etlOmimDoKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdBJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnQicKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0gJ0MnCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdEJwogICAgICAgIGlmIOetlOmimOe7k+aenCAhPSAnPT0nOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6YCJ6aG5Jywg562U6aKY57uT5p6cKQogICAgICAgICAgICDlvIDlp4vnrZTpopggPSBGYWxzZQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOetlOmimOe7k+aenCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-1 语音识别-语音识别开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-1 语音识别-语音识别开关灯.mix index 8db47f2f..27412f36 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-1 语音识别-语音识别开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-1 语音识别-语音识别开关灯.mix @@ -1 +1 @@ -1WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI0KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file +1WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI0KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-2 语音识别-关闭回复开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-2 语音识别-关闭回复开关灯.mix index 79c2d11c..ca6766d3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-2 语音识别-关闭回复开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-1-2 语音识别-关闭回复开关灯.mix @@ -1 +1 @@ -1207WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +1207WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNykKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-1 语音识别-学习唤醒词.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-1 语音识别-学习唤醒词.mix index 01e88c93..71cc4873 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-1 语音识别-学习唤醒词.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-1 语音识别-学习唤醒词.mix @@ -1,4 +1,4 @@ -进入学习:学习命令词 +进入学习:学习命令词 退出学习:退出学习 我要删除:我要删除 删除命令词:删除命令词 diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-2 语音识别-学习命令词.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-2 语音识别-学习命令词.mix index a96a3386..f5e21321 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-2 语音识别-学习命令词.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-2-2 语音识别-学习命令词.mix @@ -1,4 +1,4 @@ -进入学习:学习命令词 +进入学习:学习命令词 退出学习:退出学习 我要删除:我要删除 删除命令词:删除命令词 diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-1 语音识别-自动唤醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-1 语音识别-自动唤醒.mix index 0723d34e..576dafcc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-1 语音识别-自动唤醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-1 语音识别-自动唤醒.mix @@ -1 +1 @@ -1WHILETRUEstatus1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +1WHILETRUEstatus1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-2 语音识别-改进自动唤醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-2 语音识别-改进自动唤醒.mix index 12c2789a..6e0ad7a0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-2 语音识别-改进自动唤醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-3-2 语音识别-改进自动唤醒.mix @@ -1 +1 @@ -1207205WHILETRUE21status1status1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNykKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDUpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdKQogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +1207205WHILETRUE21status1status1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNykKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDUpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdKQogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-1 语音识别-按键语音播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-1 语音识别-按键语音播报.mix index 496a4f9b..a229f11f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-1 语音识别-按键语音播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-1 语音识别-按键语音播报.mix @@ -1 +1 @@ -12042025,5,31,9,53,31WHILETRUEB1keyTRUEB2key156136temperature{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNCkKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMzEsOSw1MywzMSkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKFRydWUpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikK \ No newline at end of file +12042025,5,31,9,53,31WHILETRUEB1keyTRUEB2key156136temperature{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNCkKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMzEsOSw1MywzMSkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKFRydWUpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-2 语音识别-语音交互播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-2 语音识别-语音交互播报.mix index d1039d7d..64b005e1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-2 语音识别-语音交互播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/1-4-2 语音识别-语音交互播报.mix @@ -1 +1 @@ -12042025,5,31,9,53,31WHILETRUE60TRUE56156136temperature57157135humidity{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDQpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDMxLDksNTMsMzEpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg2MCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU2KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU3KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Nywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgMTM1KQo= \ No newline at end of file +12042025,5,31,9,53,31WHILETRUE60TRUE56156136temperature57157135humidity{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDQpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDMxLDksNTMsMzEpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg2MCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU2KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU3KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Nywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgMTM1KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-1 简易相机-拍照并保存文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-1 简易相机-拍照并保存文件.mix index ea5c7214..3627a897 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-1 简易相机-拍照并保存文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-1 简易相机-拍照并保存文件.mix @@ -1 +1 @@ -R240X240序号0WHILETRUEimageTRUEB1keymixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1ADDa序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file +R240X240序号0WHILETRUEimageTRUEB1keymixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1ADDa序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-2 简易相机-显示图片文件名.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-2 简易相机-显示图片文件名.mix index 862acf63..a3a25b63 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-2 简易相机-显示图片文件名.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-1-2 简易相机-显示图片文件名.mix @@ -1 +1 @@ -R240X240序号-1显示摄像头TRUEWHILETRUEimageTRUE显示摄像头B2key显示摄像头显示摄像头FALSEmylist0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKaW1wb3J0IHRpbWUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQrluo/lj7cgPSAtMQrmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGVsaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBjYW1lcmEuc25hcHNob3QoKHN0cijluo/lj7cpICsgJy5qcGcnKSkKICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KChzdHIo5bqP5Y+3KSArICcuanBnJykscm90YXRpb249MCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==heSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOW6j+WPtyArPSAxCg== \ No newline at end of file +R240X240序号-1显示摄像头TRUEWHILETRUEimageTRUE显示摄像头B2key显示摄像头显示摄像头FALSEmylist0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKaW1wb3J0IHRpbWUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQrluo/lj7cgPSAtMQrmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGVsaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBjYW1lcmEuc25hcHNob3QoKHN0cijluo/lj7cpICsgJy5qcGcnKSkKICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KChzdHIo5bqP5Y+3KSArICcuanBnJykscm90YXRpb249MCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==heSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOW6j+WPtyArPSAxCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-1 简易相机-拍照支持回放.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-1 简易相机-拍照支持回放.mix index 42ae2cf4..b3325665 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-1 简易相机-拍照支持回放.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-1 简易相机-拍照支持回放.mix @@ -1 +1 @@ -R240X240序号-1显示摄像头TRUEWHILETRUEimageTRUE显示摄像头B2key显示摄像头显示摄像头显示摄像头0mixly.jpgHellox序号.jpgFALSEANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpgTrueMixlyHellox序号.jpg0FALSE100{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gLTEK5pi+56S65pGE5YOP5aS0ID0gVHJ1ZQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZGlzcGxheShjYW1lcmEuY2FwdHVyZSgpLCBzeW5jPeaYvuekuuaRhOWDj+WktCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0CiAgICAgICAgaWYgbm90IOaYvuekuuaRhOWDj+WktDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCkgYW5kIOaYvuekuuaRhOWDj+WktDoKICAgICAgICDluo/lj7cgKz0gMQogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKdiCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgICAgICBpZiBub3Qg5pi+56S65pGE5YOP5aS0OgogICAgICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KChzdHIo5bqP5Y+3KSArICcuanBnJykscm90YXRpb249MCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgICAgIOW6j+WPtyArPSAxCg== \ No newline at end of file +R240X240序号-1显示摄像头TRUEWHILETRUEimageTRUE显示摄像头B2key显示摄像头显示摄像头显示摄像头0mixly.jpgHellox序号.jpgFALSEANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpgTrueMixlyHellox序号.jpg0FALSE100{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gLTEK5pi+56S65pGE5YOP5aS0ID0gVHJ1ZQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZGlzcGxheShjYW1lcmEuY2FwdHVyZSgpLCBzeW5jPeaYvuekuuaRhOWDj+WktCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0CiAgICAgICAgaWYgbm90IOaYvuekuuaRhOWDj+WktDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCkgYW5kIOaYvuekuuaRhOWDj+WktDoKICAgICAgICDluo/lj7cgKz0gMQogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKdiCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgICAgICBpZiBub3Qg5pi+56S65pGE5YOP5aS0OgogICAgICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KChzdHIo5bqP5Y+3KSArICcuanBnJykscm90YXRpb249MCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgICAgIOW6j+WPtyArPSAxCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-2 简易相机-拍照回放模式切换.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-2 简易相机-拍照回放模式切换.mix index 63b0327a..dc454d2b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-2 简易相机-拍照回放模式切换.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-2-2 简易相机-拍照回放模式切换.mix @@ -1 +1 @@ -R240X240序号-1显示摄像头TRUE显示列表FALSEWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头ANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpgTrueMixlyHellox序号.jpg0FALSE100ANDA2key显示摄像头显示列表显示列表显示图片或列表显示列表FALSEmylist0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEGTE序号00mixly.jpgHellox序号.jpgFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBvcwppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrlm77niYfmiJbliJfooagoKToKICAgIGlmIOaYvuekuuWIl+ihqDoKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgZWxzZToKICAgICAgICBpZiDluo/lj7cgPj0gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gLTEK5pi+56S65pGE5YOP5aS0ID0gVHJ1ZQrmmL7npLrliJfooaggPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZGlzcGxheShjYW1lcmEuY2FwdHVyZSgpLCBzeW5jPeaYvuekuuaRhOWDj+WktCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0CiAgICAgICAg5pi+56S65Zu+54mH5oiW5YiX6KGoKCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5pi+56S65pGE5YOP5aS0OgogICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5pi+56S65pGE5YOP5aS0OgogICAgICAgIOaYvuekuuWIl+ihqCA9IG5vdCDmmL7npLrliJfooagKICAgICAgICDmmL7npLrlm77niYfmiJbliJfooagoKQo= \ No newline at end of file +R240X240序号-1显示摄像头TRUE显示列表FALSEWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头ANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpgTrueMixlyHellox序号.jpg0FALSE100ANDA2key显示摄像头显示列表显示列表显示图片或列表显示列表FALSEmylist0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEGTE序号00mixly.jpgHellox序号.jpgFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBvcwppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrlm77niYfmiJbliJfooagoKToKICAgIGlmIOaYvuekuuWIl+ihqDoKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgZWxzZToKICAgICAgICBpZiDluo/lj7cgPj0gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gLTEK5pi+56S65pGE5YOP5aS0ID0gVHJ1ZQrmmL7npLrliJfooaggPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZGlzcGxheShjYW1lcmEuY2FwdHVyZSgpLCBzeW5jPeaYvuekuuaRhOWDj+WktCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0CiAgICAgICAg5pi+56S65Zu+54mH5oiW5YiX6KGoKCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5pi+56S65pGE5YOP5aS0OgogICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5pi+56S65pGE5YOP5aS0OgogICAgICAgIOaYvuekuuWIl+ihqCA9IG5vdCDmmL7npLrliJfooagKICAgICAgICDmmL7npLrlm77niYfmiJbliJfooagoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-1 简易相机-按键选择文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-1 简易相机-按键选择文件.mix index b8164e4b..3c681d89 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-1 简易相机-按键选择文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-1 简易相机-按键选择文件.mix @@ -1 +1 @@ -显示文件列表照片个数照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号MINUS1选择序号1A1key选择序号ADD1选择序号1B1key显示图片显示图片{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file +显示文件列表照片个数照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号MINUS1选择序号1A1key选择序号ADD1选择序号1B1key显示图片显示图片{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-2 简易相机-限定按键选择.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-2 简易相机-限定按键选择.mix index 46adf905..4a820761 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-2 简易相机-限定按键选择.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-3-2 简易相机-限定按键选择.mix @@ -1 +1 @@ -显示文件列表照片个数照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10照片个数B1key显示图片显示图片{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file +显示文件列表照片个数照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10照片个数B1key显示图片显示图片{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-1 简易相机-显示选定文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-1 简易相机-显示选定文件.mix index 8bcdd79b..3a2ecc60 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-1 简易相机-显示选定文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-1 简易相机-显示选定文件.mix @@ -1 +1 @@ -R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file +R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-2 简易相机-删除选定文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-2 简易相机-删除选定文件.mix index 5da15223..9998731d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-2 简易相机-删除选定文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/2-4-2 简易相机-删除选定文件.mix @@ -1 +1 @@ -R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A2keymylistremovefilename.txtmylist0选择序号选择序号0A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICAgICAgb3MucmVtb3ZlKG15bGlzdFvpgInmi6nluo/lj7ddKQogICAgICAgICAgICDpgInmi6nluo/lj7cgPSAwCiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file +R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A2keymylistremovefilename.txtmylist0选择序号选择序号0A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICAgICAgb3MucmVtb3ZlKG15bGlzdFvpgInmi6nluo/lj7ddKQogICAgICAgICAgICDpgInmi6nluo/lj7cgPSAwCiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-1 图像识别-二维码识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-1 图像识别-二维码识别.mix index 61fc2135..f6fa7491 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-1 图像识别-二维码识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-1 图像识别-二维码识别.mix @@ -1 +1 @@ -R240X240QRReaderModelWHILETRUEsModelTRUEs659100Mixlys{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5RUlJlYWRlcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgcyA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJkYXRhIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiBzOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludChzKQo= \ No newline at end of file +R240X240QRReaderModelWHILETRUEsModelTRUEs659100Mixlys{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5RUlJlYWRlcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgcyA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJkYXRhIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiBzOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludChzKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-2 图像识别-二维码识别改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-2 图像识别-二维码识别改进.mix index bdf9799f..eb2141ee 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-2 图像识别-二维码识别改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-1-2 图像识别-二维码识别改进.mix @@ -1 +1 @@ -R240X240ColorDetectorModelredModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNvbG9yRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDE3MCwgMTAwLCAxMDApLCAoMTAsIDI1NSwgMjU1KSwicmVkIikKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file +R240X240ColorDetectorModelredModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNvbG9yRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDE3MCwgMTAwLCAxMDApLCAoMTAsIDI1NSwgMjU1KSwicmVkIikKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-1 图像识别-猫脸检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-1 图像识别-猫脸检测.mix index 89653328..e9d43f14 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-1 图像识别-猫脸检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-1 图像识别-猫脸检测.mix @@ -1 +1 @@ -R240X240CatDetectorModelWHILETRUExModelTRUExMixly猫脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5DYXREZXRlY3Rvcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgcHJpbnQoKCfnjKvohLjkuKrmlbA6JyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo=)">is2s0.2{}aW1wb3J0IGNhbWVyYQppbXBvcnQgYWlfY2FtZXJhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgpjYW0gPSBjYW1lcmEuR0MwMzJBKGNhbWVyYS5MQ0QpCmFpID0gYWlfY2FtZXJhLkFJKGFpX2NhbWVyYS5DQVRfRkFDRV9ERVRFQ1RJT04pCndoaWxlIFRydWU6CiAgICB4ID0gYWkuY2F0X2RldGVjdGlvbignbGVuJykKICAgIGlmIHg6CiAgICAgICAgcHJpbnQoKCfnjKvohLjkuKrmlbA6JyArIHN0cih4KSkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgeCwgMSk6CiAgICAgICAgICAgIHByaW50KGFpLmNhdF9kZXRlY3Rpb24oJ3BvcycsaSkpCiAgICAgICAgdGltZS5zbGVlcCgyKQogICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file +R240X240CatDetectorModelWHILETRUExModelTRUExMixly猫脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5DYXREZXRlY3Rvcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgcHJpbnQoKCfnjKvohLjkuKrmlbA6JyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo=)">is2s0.2{}aW1wb3J0IGNhbWVyYQppbXBvcnQgYWlfY2FtZXJhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgpjYW0gPSBjYW1lcmEuR0MwMzJBKGNhbWVyYS5MQ0QpCmFpID0gYWlfY2FtZXJhLkFJKGFpX2NhbWVyYS5DQVRfRkFDRV9ERVRFQ1RJT04pCndoaWxlIFRydWU6CiAgICB4ID0gYWkuY2F0X2RldGVjdGlvbignbGVuJykKICAgIGlmIHg6CiAgICAgICAgcHJpbnQoKCfnjKvohLjkuKrmlbA6JyArIHN0cih4KSkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgeCwgMSk6CiAgICAgICAgICAgIHByaW50KGFpLmNhdF9kZXRlY3Rpb24oJ3BvcycsaSkpCiAgICAgICAgdGltZS5zbGVlcCgyKQogICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-2 图像识别-猫脸检测改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-2 图像识别-猫脸检测改进.mix index 315e648f..b4a9b6fd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-2 图像识别-猫脸检测改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-2-2 图像识别-猫脸检测改进.mix @@ -1 +1 @@ -R240X240CatDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i0200Mixly猫脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNhdERldGVjdG9yKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBtaW4oeCwgNCksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAyMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgcHJpbnQoKCfnjKvohLjkuKrmlbA6JyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file +R240X240CatDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i0200Mixly猫脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNhdERldGVjdG9yKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBtaW4oeCwgNCksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3JnYltpXSA9ICgwLCAyMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgcHJpbnQoKCfnjKvohLjkuKrmlbA6JyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-1 图像识别-颜色检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-1 图像识别-颜色检测.mix index dea0c296..6514f4fd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-1 图像识别-颜色检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-1 图像识别-颜色检测.mix @@ -1 +1 @@ -R240X240ColorDetectorModelredModelWHILETRUExModelTRUExMixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5Db2xvckRldGVjdG9yKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgxNzAsIDEwMCwgMTAwKSwgKDEwLCAyNTUsIDI1NSksInJlZCIpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKshadow>s0.2{}aW1wb3J0IGNhbWVyYQppbXBvcnQgYWlfY2FtZXJhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgpjYW0gPSBjYW1lcmEuR0MwMzJBKGNhbWVyYS5MQ0QpCmFpID0gYWlfY2FtZXJhLkFJKGFpX2NhbWVyYS5DT0xPUl9ERVRFQ1RJT04pCndoaWxlIFRydWU6CiAgICB4ID0gYWkuY29sb3JfZGV0ZWN0aW9uKDAsJ2xlbicpCiAgICBpZiB4OgogICAgICAgIHByaW50KCgn57qi6Imy5Z2X5Liq5pWw5p6B5Z2Q5qCH77yaJyArIHN0cih4KSkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgeCwgMSk6CiAgICAgICAgICAgIHByaW50KGFpLmNvbG9yX2RldGVjdGlvbigwLCdwb3MnLGkpKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file +R240X240ColorDetectorModelredModelWHILETRUExModelTRUExMixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5Db2xvckRldGVjdG9yKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgxNzAsIDEwMCwgMTAwKSwgKDEwLCAyNTUsIDI1NSksInJlZCIpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKshadow>s0.2{}aW1wb3J0IGNhbWVyYQppbXBvcnQgYWlfY2FtZXJhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgpjYW0gPSBjYW1lcmEuR0MwMzJBKGNhbWVyYS5MQ0QpCmFpID0gYWlfY2FtZXJhLkFJKGFpX2NhbWVyYS5DT0xPUl9ERVRFQ1RJT04pCndoaWxlIFRydWU6CiAgICB4ID0gYWkuY29sb3JfZGV0ZWN0aW9uKDAsJ2xlbicpCiAgICBpZiB4OgogICAgICAgIHByaW50KCgn57qi6Imy5Z2X5Liq5pWw5p6B5Z2Q5qCH77yaJyArIHN0cih4KSkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgeCwgMSk6CiAgICAgICAgICAgIHByaW50KGFpLmNvbG9yX2RldGVjdGlvbigwLCdwb3MnLGkpKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-2 图像识别-颜色检测改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-2 图像识别-颜色检测改进.mix index c2e7852c..088af7c9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-2 图像识别-颜色检测改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-3-2 图像识别-颜色检测改进.mix @@ -1 +1 @@ -R240X240ColorDetectorModelredModelWHILETRUExModelTRUEx0,1,2,305min1x41i0i2000Mixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNvbG9yRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDE3MCwgMTAwLCAxMDApLCAoMTAsIDI1NSwgMjU1KSwicmVkIikKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file +R240X240ColorDetectorModelredModelWHILETRUExModelTRUEx0,1,2,305min1x41i0i2000Mixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNvbG9yRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDE3MCwgMTAwLCAxMDApLCAoMTAsIDI1NSwgMjU1KSwicmVkIikKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-1 图像识别-人数检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-1 图像识别-人数检测.mix index 834ad3a9..6ba8b229 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-1 图像识别-人数检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-1 图像识别-人数检测.mix @@ -1 +1 @@ -R240X240HumanDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkh1bWFuRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+S6uuaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file +R240X240HumanDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkh1bWFuRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+S6uuaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-2 图像识别-人脸检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-2 图像识别-人脸检测.mix index 66811513..b0a760e0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-2 图像识别-人脸检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/3-4-2 图像识别-人脸检测.mix @@ -1 +1 @@ -R240X240FaceDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VEZXRlY3Rvcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbWluKHgsIDQpLCAxKToKICAgICAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMjAsIDAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHByaW50KCgn5Lq66IS45Liq5pWw77yaJyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file +R240X240FaceDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VEZXRlY3Rvcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbWluKHgsIDQpLCAxKToKICAgICAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMjAsIDAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHByaW50KCgn5Lq66IS45Liq5pWw77yaJyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-1 人脸识别-录入人脸.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-1 人脸识别-录入人脸.mix index 476f50d8..b27f51a8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-1 人脸识别-录入人脸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-1 人脸识别-录入人脸.mix @@ -1 +1 @@ -R240X240FaceRecognizerModel序号0WHILETRUExModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file +R240X240FaceRecognizerModel序号0WHILETRUExModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-2 人脸识别-删除人脸.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-2 人脸识别-删除人脸.mix index b6add283..ad3f18d7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-2 人脸识别-删除人脸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-1-2 人脸识别-删除人脸.mix @@ -1 +1 @@ -R240X240FaceRecognizerModel序号0WHILETRUEB2keyModelTrue删除人脸成功0TRUE165200xModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIE1vZGVsLmNsZWFyX2ZhY2UoKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliKDpmaTkurrohLjmiJDlip8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMjAwKQogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo=CAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file +R240X240FaceRecognizerModel序号0WHILETRUEB2keyModelTrue删除人脸成功0TRUE165200xModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIE1vZGVsLmNsZWFyX2ZhY2UoKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliKDpmaTkurrohLjmiJDlip8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMjAwKQogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo=CAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-1 人脸识别-录入人脸姓名.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-1 人脸识别-录入人脸姓名.mix index 5d57b793..25057f75 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-1 人脸识别-录入人脸姓名.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-1 人脸识别-录入人脸姓名.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0WHILETRUExModelTRUExB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgInBlcnNvbiIsICJuYW1lIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEK \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0WHILETRUExModelTRUExB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgInBlcnNvbiIsICJuYW1lIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-2 人脸识别-识别人脸姓名.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-2 人脸识别-识别人脸姓名.mix index 5ca2a6f7..cc73dfd9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-2 人脸识别-识别人脸姓名.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-2-2 人脸识别-识别人脸姓名.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExTrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoeCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKQogICAgICAgICAgICBpZiBJRDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdJRDoge30gTmFtZTp7fScuZm9ybWF0KElELCBteXR1cFvluo/lj7ddKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQo= id=".sN6_W^TGJ|z{AH`3JSH">mytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExTrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoeCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKQogICAgICAgICAgICBpZiBJRDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdJRDoge30gTmFtZTp7fScuZm9ybWF0KElELCBteXR1cFvluo/lj7ddKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQo= id=".sN6_W^TGJ|z{AH`3JSH">mytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-1 人脸识别-人脸签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-1 人脸识别-人脸签到.mix index e8629f55..20302d5c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-1 人脸识别-人脸签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-1 人脸识别-人脸签到.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID02025,11,1,11,52,9WHILETRUExModelTRUExNEQxnulla+签到.txtfMixlyHello xf\r\nff659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSwxMSwxLDExLDUyLDkpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiB4ICE9ICdudWxsJzoKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID02025,11,1,11,52,9WHILETRUExModelTRUExNEQxnulla+签到.txtfMixlyHello xf\r\nff659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSwxMSwxLDExLDUyLDkpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiB4ICE9ICdudWxsJzoKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-2 人脸识别-人脸签到改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-2 人脸识别-人脸签到改进.mix index 671ea0cb..0e8cd5d7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-2 人脸识别-人脸签到改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-3-2 人脸识别-人脸签到改进.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExANDNEQxnullNEQxoldnamea+签到.txtfMixlyHello xf\r\nffoldnamex659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExANDNEQxnullNEQxoldnamea+签到.txtfMixlyHello xf\r\nffoldnamex659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-1 图像识别-物体识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-1 图像识别-物体识别.mix index 339a4601..fb4162a6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-1 图像识别-物体识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-1 图像识别-物体识别.mix @@ -1 +1 @@ -R240X240ImageNetModelWHILETRUExModelTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkltYWdlTmV0KHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImRhdGEiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkK \ No newline at end of file +R240X240ImageNetModelWHILETRUExModelTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkltYWdlTmV0KHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImRhdGEiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-2 图像识别-物体翻译.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-2 图像识别-物体翻译.mix index 6d12da7d..16fd821e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-2 图像识别-物体翻译.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期5/4-4-2 图像识别-物体翻译.mix @@ -1 +1 @@ -mydict"laptop""screen""menu"电脑屏幕菜单R240X240ImageNetModelWHILETRUExModelFALSEmydictkeyx0TrueMixlymydictkeyx0FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKbXlkaWN0PSB7ImxhcHRvcCI6J+eUteiEkScsICJzY3JlZW4iOiflsY/luZUnLCAibWVudSI6J+iPnOWNlSd9CmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkltYWdlTmV0KHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImRhdGEiLCBjb2xvcj0weEY4MDAsIHN5bmM9RmFsc2UpCiAgICBpZiBteWRpY3QuZ2V0KHgsMCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlkaWN0W3hdLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file +mydict"laptop""screen""menu"电脑屏幕菜单R240X240ImageNetModelWHILETRUExModelFALSEmydictkeyx0TrueMixlymydictkeyx0FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKbXlkaWN0PSB7ImxhcHRvcCI6J+eUteiEkScsICJzY3JlZW4iOiflsY/luZUnLCAibWVudSI6J+iPnOWNlSd9CmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkltYWdlTmV0KHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImRhdGEiLCBjb2xvcj0weEY4MDAsIHN5bmM9RmFsc2UpCiAgICBpZiBteWRpY3QuZ2V0KHgsMCk6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlkaWN0W3hdLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-1 智能门锁-RFID读取测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-1 智能门锁-RFID读取测试.mix index f2a9861a..a7975c4c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-1 智能门锁-RFID读取测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-1 智能门锁-RFID读取测试.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIHByaW50KGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpKQogICAgdGltZS5zbGVlcCgxKQo=2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIHByaW50KGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpKQogICAgdGltZS5zbGVlcCgxKQo=2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-2 智能门锁-RFID优雅读卡.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-2 智能门锁-RFID优雅读卡.mix index 1005c4bd..fc46c4f5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-2 智能门锁-RFID优雅读卡.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-1-2 智能门锁-RFID优雅读卡.mix @@ -1 +1 @@ -WHILETRUEidNEQid659100Mixlyids1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgaWQyICE9IE5vbmU6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KGlkMikKICAgICAgICB0aW1lLnNsZWVwKDEpCg==GVlcCgxKQo= \ No newline at end of file +WHILETRUEidNEQid659100Mixlyids1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgaWQyICE9IE5vbmU6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KGlkMikKICAgICAgICB0aW1lLnNsZWVwKDEpCg==GVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-1 智能门锁-RFID写卡测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-1 智能门锁-RFID写卡测试.mix index 2e60005e..8563856c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-1 智能门锁-RFID写卡测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-1 智能门锁-RFID写卡测试.mix @@ -1 +1 @@ -WHILETRUEidNEQid0Mixly988100s1Mixly0s1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQoJ01peGx5JywwKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUEidNEQid0Mixly988100s1Mixly0s1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKCgp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQoJ01peGx5JywwKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCkpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-2 智能门锁-手动RFID写卡.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-2 智能门锁-手动RFID写卡.mix index 67ceb220..823c0bb0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-2 智能门锁-手动RFID写卡.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-2-2 智能门锁-手动RFID写卡.mix @@ -1 +1 @@ -WHILETRUEB1keyidNEQid659100Mixly0B2keyidNEQid0Mixly988100informatio_picture.YESTRUEinformatio_picture.NOTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IFlFUwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLnJlYWRfY2FyZCgwKSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgICAgICBpZiBleHRfcmZpZC53cml0ZV9jYXJkKCdNaXhseScsMCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShZRVMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEB1keyidNEQid659100Mixly0B2keyidNEQid0Mixly988100informatio_picture.YESTRUEinformatio_picture.NOTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKZnJvbSBpbmZvcm1hdGlvX3BpY3R1cmUgaW1wb3J0IFlFUwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KGV4dF9yZmlkLnJlYWRfY2FyZCgwKSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgICAgICBpZiBleHRfcmZpZC53cml0ZV9jYXJkKCdNaXhseScsMCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShZRVMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShOTywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-1 智能门锁-刷卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-1 智能门锁-刷卡开门.mix index 97a6e347..f681e8e5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-1 智能门锁-刷卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-1 智能门锁-刷卡开门.mix @@ -1 +1 @@ -WHILETRUEidNEQid659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENTRUE{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCgp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEidNEQid659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_OPENTRUE{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCgp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-2 智能门锁-安全刷卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-2 智能门锁-安全刷卡开门.mix index fe5261c6..54d7b004 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-2 智能门锁-安全刷卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-3-2 智能门锁-安全刷卡开门.mix @@ -1 +1 @@ -s1991377439WHILETRUEidNEQidMixlyidinxid0,1,2,3s1659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_CLOSETRUE{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKCnMxPSB7OTkxMzc3NDM5fQp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIHByaW50KGlkMikKICAgICAgICBpZiBpZDIgaW4gczE6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +s1991377439WHILETRUEidNEQidMixlyidinxid0,1,2,3s1659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_CLOSETRUE{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKCnMxPSB7OTkxMzc3NDM5fQp3aGlsZSBUcnVlOgogICAgaWQyID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGlkMiAhPSBOb25lOgogICAgICAgIHByaW50KGlkMikKICAgICAgICBpZiBpZDIgaW4gczE6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-1 智能门锁-添加刷卡信息.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-1 智能门锁-添加刷卡信息.mix index 1c113cb0..08e06e83 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-1 智能门锁-添加刷卡信息.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-1 智能门锁-添加刷卡信息.mix @@ -1 +1 @@ -s1WHILETRUEidNEQidadds10id988100Mixlys1s1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpzMSA9IHNldCgpCndoaWxlIFRydWU6CiAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgaWQyICE9IE5vbmU6CiAgICAgICAgczEuYWRkKGlkMikKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgcHJpbnQoczEpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +s1WHILETRUEidNEQidadds10id988100Mixlys1s1{}aW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgpzMSA9IHNldCgpCndoaWxlIFRydWU6CiAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgaWQyICE9IE5vbmU6CiAgICAgICAgczEuYWRkKGlkMikKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgcHJpbnQoczEpCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-2 智能门锁-带管理刷卡门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-2 智能门锁-带管理刷卡门.mix index 1e53ec19..0e65fccb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-2 智能门锁-带管理刷卡门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/1-4-2 智能门锁-带管理刷卡门.mix @@ -1 +1 @@ -s1管理模式FALSEWHILETRUEB1key管理模式管理模式11管理模式idNEQid管理模式adds10id988100Mixlys1s1inxid0,1,2,3s1659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKczEgPSBzZXQoKQrnrqHnkIbmqKHlvI8gPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeuoeeQhuaooeW8jyA9IG5vdCDnrqHnkIbmqKHlvI8KICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOeuoeeQhuaooeW8jykKICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBpZDIgIT0gTm9uZToKICAgICAgICBpZiDnrqHnkIbmqKHlvI86CiAgICAgICAgICAgIHMxLmFkZChpZDIpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgcHJpbnQoczEpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiBpZDIgaW4gczE6CiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +s1管理模式FALSEWHILETRUEB1key管理模式管理模式11管理模式idNEQid管理模式adds10id988100Mixlys1s1inxid0,1,2,3s1659100object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs2object_picture.DOOR_CLOSETRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKczEgPSBzZXQoKQrnrqHnkIbmqKHlvI8gPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeuoeeQhuaooeW8jyA9IG5vdCDnrqHnkIbmqKHlvI8KICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOeuoeeQhuaooeW8jykKICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBpZDIgIT0gTm9uZToKICAgICAgICBpZiDnrqHnkIbmqKHlvI86CiAgICAgICAgICAgIHMxLmFkZChpZDIpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgcHJpbnQoczEpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBpZiBpZDIgaW4gczE6CiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-1 安全驾驶-微波雷达防盗.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-1 安全驾驶-微波雷达防盗.mix index de075dc8..27c2f34c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-1 安全驾驶-微波雷达防盗.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-1 安全驾驶-微波雷达防盗.mix @@ -1 +1 @@ -WHILETRUE659200ms200{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo=c7G0B">pin3系好安全带659200ms200{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgoKcGluMyA9IG1hY2hpbmUuUGluKDMsIG1hY2hpbmUuUGluLklOKQpwaW40ID0gbWFjaGluZS5QaW4oNCwgbWFjaGluZS5QaW4uSU4pCuezu+WlveWuieWFqOW4piA9IEZhbHNlCndoaWxlIFRydWU6CiAgICDns7vlpb3lronlhajluKYgPSBwaW4zLnZhbHVlKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKY6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo= \ No newline at end of file +WHILETRUE659200ms200{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo=c7G0B">pin3系好安全带659200ms200{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgoKcGluMyA9IG1hY2hpbmUuUGluKDMsIG1hY2hpbmUuUGluLklOKQpwaW40ID0gbWFjaGluZS5QaW4oNCwgbWFjaGluZS5QaW4uSU4pCuezu+WlveWuieWFqOW4piA9IEZhbHNlCndoaWxlIFRydWU6CiAgICDns7vlpb3lronlhajluKYgPSBwaW4zLnZhbHVlKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKY6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-2 安全驾驶-微波雷达欢迎灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-2 安全驾驶-微波雷达欢迎灯.mix index 6cee1ed0..5ac0640b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-2 安全驾驶-微波雷达欢迎灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-1-2 安全驾驶-微波雷达欢迎灯.mix @@ -1 +1 @@ -WHILETRUE1000{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKCndoaWxlIFRydWU6CiAgICBpZiBleHRfbW13LnJlc3VsdCgpOgogICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwMCkKMn}^U.D">200{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo= \ No newline at end of file +WHILETRUE1000{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKCndoaWxlIFRydWU6CiAgICBpZiBleHRfbW13LnJlc3VsdCgpOgogICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwMCkKMn}^U.D">200{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-1 安全驾驶-RFID汽车钥匙.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-1 安全驾驶-RFID汽车钥匙.mix index 9846d119..8c859603 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-1 安全驾驶-RFID汽车钥匙.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-1 安全驾驶-RFID汽车钥匙.mix @@ -1 +1 @@ -s1991377439WHILETRUEidNEQidMixlyidinxid0,1,2,3s1303030{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpzMT0gezk5MTM3NzQzOX0Kd2hpbGUgVHJ1ZToKICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBpZDIgIT0gTm9uZToKICAgICAgICBwcmludChpZDIpCiAgICAgICAgaWYgaWQyIGluIHMxOgogICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgzMCwgMzAsIDMwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file +s1991377439WHILETRUEidNEQidMixlyidinxid0,1,2,3s1303030{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpzMT0gezk5MTM3NzQzOX0Kd2hpbGUgVHJ1ZToKICAgIGlkMiA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBpZDIgIT0gTm9uZToKICAgICAgICBwcmludChpZDIpCiAgICAgICAgaWYgaWQyIGluIHMxOgogICAgICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgzMCwgMzAsIDMwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-2 安全驾驶-记录汽车状态.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-2 安全驾驶-记录汽车状态.mix index 328bfad7..9f3bb237 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-2 安全驾驶-记录汽车状态.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-2-2 安全驾驶-记录汽车状态.mix @@ -1 +1 @@ -s1991377439mylist2025,5,31,20,25,38WHILETRUEidNEQidMixlyidinxid0,1,2,3s1303030appendmylist0s10,1,2,305LENmylist1iMixlymylist0i00MULTIPLY1i201255,255,0#ffffffTRUE{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCnMxPSB7OTkxMzc3NDM5fQpteWxpc3QgPSBbXQpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSwyMCwyNSwzOCkpCndoaWxlIFRydWU6CiAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgaWQyICE9IE5vbmU6CiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIGlmIGlkMiBpbiBzMToKICAgICAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDMwLCAzMCkpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICAgICAgbXlsaXN0LmFwcGVuZChydGN0aW1lLnN0cnRpbWUoKSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LnRleHRzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiAyMCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +s1991377439mylist2025,5,31,20,25,38WHILETRUEidNEQidMixlyidinxid0,1,2,3s1303030appendmylist0s10,1,2,305LENmylist1iMixlymylist0i00MULTIPLY1i201255,255,0#ffffffTRUE{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmltcG9ydCBtYXRoCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCnMxPSB7OTkxMzc3NDM5fQpteWxpc3QgPSBbXQpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSwyMCwyNSwzOCkpCndoaWxlIFRydWU6CiAgICBpZDIgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgaWQyICE9IE5vbmU6CiAgICAgICAgcHJpbnQoaWQyKQogICAgICAgIGlmIGlkMiBpbiBzMToKICAgICAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDMwLCAzMCkpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICAgICAgbXlsaXN0LmFwcGVuZChydGN0aW1lLnN0cnRpbWUoKSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LnRleHRzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiAyMCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-1 安全驾驶-安全带未系提醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-1 安全驾驶-安全带未系提醒.mix index d0d97693..d10ebc72 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-1 安全驾驶-安全带未系提醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-1 安全驾驶-安全带未系提醒.mix @@ -1 +1 @@ -系好安全带FALSEWHILETRUE系好安全带B1key系好安全带659200ms200{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgrns7vlpb3lronlhajluKYgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg57O75aW95a6J5YWo5bimID0gbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKY6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo=controls_delay_new" id="H8Ezp}1613fm95#J`n|r">ms200{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgoKcGluMyA9IG1hY2hpbmUuUGluKDMsIG1hY2hpbmUuUGluLklOKQpwaW40ID0gbWFjaGluZS5QaW4oNCwgbWFjaGluZS5QaW4uSU4pCuezu+WlveWuieWFqOW4piA9IEZhbHNlCndoaWxlIFRydWU6CiAgICDns7vlpb3lronlhajluKYgPSBwaW4zLnZhbHVlKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKY6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo= \ No newline at end of file +系好安全带FALSEWHILETRUE系好安全带B1key系好安全带659200ms200{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgrns7vlpb3lronlhajluKYgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg57O75aW95a6J5YWo5bimID0gbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKY6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo=controls_delay_new" id="H8Ezp}1613fm95#J`n|r">ms200{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgoKcGluMyA9IG1hY2hpbmUuUGluKDMsIG1hY2hpbmUuUGluLklOKQpwaW40ID0gbWFjaGluZS5QaW4oNCwgbWFjaGluZS5QaW4uSU4pCuezu+WlveWuieWFqOW4piA9IEZhbHNlCndoaWxlIFRydWU6CiAgICDns7vlpb3lronlhajluKYgPSBwaW4zLnZhbHVlKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKY6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-2 安全驾驶-带人体检测安全带未系提醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-2 安全驾驶-带人体检测安全带未系提醒.mix index 23ad06bb..1f9a1ec1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-2 安全驾驶-带人体检测安全带未系提醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-3-2 安全驾驶-带人体检测安全带未系提醒.mix @@ -1 +1 @@ -系好安全带1FALSE系好安全带2FALSEWHILETRUE系好安全带2B2key系好安全带1B1keyAND系好安全带1GTr10011系好安全带1659200ms200AND系好安全带2GTl10021系好安全带2659200ms200{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAoK57O75aW95a6J5YWo5bimMSA9IEZhbHNlCuezu+WlveWuieWFqOW4pjIgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg57O75aW95a6J5YWo5bimMiA9IG1peGdvX3NhbnQuQjJrZXkuaXNfcHJlc3NlZCgpCiAgICDns7vlpb3lronlhajluKYxID0gbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKYxIGFuZCBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwobm90IOezu+WlveWuieWFqOW4pjEpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICB0aW1lLnNsZWVwX21zKDIwMCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKYyIGFuZCBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwobm90IOezu+WlveWuieWFqOW4pjIpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICB0aW1lLnNsZWVwX21zKDIwMCkK \ No newline at end of file +系好安全带1FALSE系好安全带2FALSEWHILETRUE系好安全带2B2key系好安全带1B1keyAND系好安全带1GTr10011系好安全带1659200ms200AND系好安全带2GTl10021系好安全带2659200ms200{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAoK57O75aW95a6J5YWo5bimMSA9IEZhbHNlCuezu+WlveWuieWFqOW4pjIgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAg57O75aW95a6J5YWo5bimMiA9IG1peGdvX3NhbnQuQjJrZXkuaXNfcHJlc3NlZCgpCiAgICDns7vlpb3lronlhajluKYxID0gbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKYxIGFuZCBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwobm90IOezu+WlveWuieWFqOW4pjEpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICB0aW1lLnNsZWVwX21zKDIwMCkKICAgIGlmIG5vdCDns7vlpb3lronlhajluKYyIGFuZCBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAxMDA6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwobm90IOezu+WlveWuieWFqOW4pjIpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICB0aW1lLnNsZWVwX21zKDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-1 安全驾驶-转向灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-1 安全驾驶-转向灯.mix index c144212a..ef8598af 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-1 安全驾驶-转向灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-1 安全驾驶-转向灯.mix @@ -1 +1 @@ -左转向灯状态FALSE右转向灯状态FALSEWHILETRUEA1key右转向灯状态FALSE左转向灯状态左转向灯状态B1key左转向灯状态FALSE右转向灯状态右转向灯状态左转向灯状态11s0.210s0.2右转向灯状态21s0.220s0.2{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoK5bem6L2s5ZCR54Gv54q25oCBID0gRmFsc2UK5Y+z6L2s5ZCR54Gv54q25oCBID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlj7PovazlkJHnga/nirbmgIEgPSBGYWxzZQogICAgICAgIOW3pui9rOWQkeeBr+eKtuaAgSA9IG5vdCDlt6bovazlkJHnga/nirbmgIEKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlt6bovazlkJHnga/nirbmgIEgPSBGYWxzZQogICAgICAgIOWPs+i9rOWQkeeBr+eKtuaAgSA9IG5vdCDlj7PovazlkJHnga/nirbmgIEKICAgIGlmIOW3pui9rOWQkeeBr+eKtuaAgToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgZWxpZiDlj7PovazlkJHnga/nirbmgIE6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file +左转向灯状态FALSE右转向灯状态FALSEWHILETRUEA1key右转向灯状态FALSE左转向灯状态左转向灯状态B1key左转向灯状态FALSE右转向灯状态右转向灯状态左转向灯状态11s0.210s0.2右转向灯状态21s0.220s0.2{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoK5bem6L2s5ZCR54Gv54q25oCBID0gRmFsc2UK5Y+z6L2s5ZCR54Gv54q25oCBID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlj7PovazlkJHnga/nirbmgIEgPSBGYWxzZQogICAgICAgIOW3pui9rOWQkeeBr+eKtuaAgSA9IG5vdCDlt6bovazlkJHnga/nirbmgIEKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlt6bovazlkJHnga/nirbmgIEgPSBGYWxzZQogICAgICAgIOWPs+i9rOWQkeeBr+eKtuaAgSA9IG5vdCDlj7PovazlkJHnga/nirbmgIEKICAgIGlmIOW3pui9rOWQkeeBr+eKtuaAgToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgZWxpZiDlj7PovazlkJHnga/nirbmgIE6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-2 安全驾驶-自动回位转向灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-2 安全驾驶-自动回位转向灯.mix index ef0a2ff6..6c7baf1d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-2 安全驾驶-自动回位转向灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/2-4-2 安全驾驶-自动回位转向灯.mix @@ -1 +1 @@ -左转向灯状态FALSE右转向灯状态FALSEWHILETRUEA1key右转向灯状态FALSE左转向灯状态左转向灯状态B1key左转向灯状态FALSE右转向灯状态右转向灯状态左转向灯状态11s0.210s0.2右转向灯状态21s0.220s0.2LT[0]-0.5右转向灯状态FALSEGT[0]0.5左转向灯状态FALSE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWNjCgrlt6bovazlkJHnga/nirbmgIEgPSBGYWxzZQrlj7PovazlkJHnga/nirbmgIEgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPs+i9rOWQkeeBr+eKtuaAgSA9IEZhbHNlCiAgICAgICAg5bem6L2s5ZCR54Gv54q25oCBID0gbm90IOW3pui9rOWQkeeBr+eKtuaAgQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW3pui9rOWQkeeBr+eKtuaAgSA9IEZhbHNlCiAgICAgICAg5Y+z6L2s5ZCR54Gv54q25oCBID0gbm90IOWPs+i9rOWQkeeBr+eKtuaAgQogICAgaWYg5bem6L2s5ZCR54Gv54q25oCBOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICBlbGlmIOWPs+i9rOWQkeeBr+eKtuaAgToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC41OgogICAgICAgIOWPs+i9rOWQkeeBr+eKtuaAgSA9IEZhbHNlCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuNToKICAgICAgICDlt6bovazlkJHnga/nirbmgIEgPSBGYWxzZQo= \ No newline at end of file +左转向灯状态FALSE右转向灯状态FALSEWHILETRUEA1key右转向灯状态FALSE左转向灯状态左转向灯状态B1key左转向灯状态FALSE右转向灯状态右转向灯状态左转向灯状态11s0.210s0.2右转向灯状态21s0.220s0.2LT[0]-0.5右转向灯状态FALSEGT[0]0.5左转向灯状态FALSE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWNjCgrlt6bovazlkJHnga/nirbmgIEgPSBGYWxzZQrlj7PovazlkJHnga/nirbmgIEgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPs+i9rOWQkeeBr+eKtuaAgSA9IEZhbHNlCiAgICAgICAg5bem6L2s5ZCR54Gv54q25oCBID0gbm90IOW3pui9rOWQkeeBr+eKtuaAgQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW3pui9rOWQkeeBr+eKtuaAgSA9IEZhbHNlCiAgICAgICAg5Y+z6L2s5ZCR54Gv54q25oCBID0gbm90IOWPs+i9rOWQkeeBr+eKtuaAgQogICAgaWYg5bem6L2s5ZCR54Gv54q25oCBOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICBlbGlmIOWPs+i9rOWQkeeBr+eKtuaAgToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC41OgogICAgICAgIOWPs+i9rOWQkeeBr+eKtuaAgSA9IEZhbHNlCiAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDAuNToKICAgICAgICDlt6bovazlkJHnga/nirbmgIEgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-1 数字公交-手动切换站号.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-1 数字公交-手动切换站号.mix index 2638e5f1..839c2b38 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-1 数字公交-手动切换站号.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-1 数字公交-手动切换站号.mix @@ -1 +1 @@ -fuhua312345678mixio.mixly.cn04f28f站号0车号ABCDWHILETRUEB1keyADDa站号1车辆信息msg"车号""站号"车号站号B2keyMINUSa站号1车辆信息msg"车号""站号"车号站号TrueMixly站号0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9MDRmMjhmJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQrnq5nlj7cgPSAwCui9puWPtyA9ICdBQkNEJwp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOermeWPtyArPSAxCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui9puWPtyI6IOi9puWPtywgIuermeWPtyI6IOermeWPt30pKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOermeWPtyAtPSAxCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui9puWPtyI6IOi9puWPtywgIuermeWPtyI6IOermeWPt30pKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo56uZ5Y+3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +fuhua312345678mixio.mixly.cn04f28f站号0车号ABCDWHILETRUEB1keyADDa站号1车辆信息msg"车号""站号"车号站号B2keyMINUSa站号1车辆信息msg"车号""站号"车号站号TrueMixly站号0TRUE{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9MDRmMjhmJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQrnq5nlj7cgPSAwCui9puWPtyA9ICdBQkNEJwp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOermeWPtyArPSAxCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui9puWPtyI6IOi9puWPtywgIuermeWPtyI6IOermeWPt30pKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOermeWPtyAtPSAxCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui9puWPtyI6IOi9puWPtywgIuermeWPtyI6IOermeWPt30pKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo56uZ5Y+3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-2 数字公交-自动切换站号.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-2 数字公交-自动切换站号.mix index b44966e8..d8379cf6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-2 数字公交-自动切换站号.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-2 数字公交-自动切换站号.mix @@ -1,2 +1,2 @@ -一块板子充当站台,不断发射站号 +一块板子充当站台,不断发射站号 fuhua312345678mixio.mixly.cn04f28f1True站号0车号ABCDWHILETRUETrueMixly站号0TRUE站号新站号intNEQ站号新站号站号新站号车辆信息msg"车号""站号"车号站号{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IHJhZGlvCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peHB5CgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBnbG9iYWwg56uZ5Y+3CiAgICDmlrDnq5nlj7cgPSBpbnQoRVNQTm93X3JhZGlvX21zZykKICAgIGlmIOermeWPtyAhPSDmlrDnq5nlj7c6CiAgICAgICAg56uZ5Y+3ID0g5paw56uZ5Y+3CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui9puWPtyI6IOi9puWPtywgIuermeWPtyI6IOermeWPt30pKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpzayA9IGFuYWx5c2Vfc2hhcmVrZXkoJ2h0dHA6Ly9taXhpby5taXhseS5jbi9taXhpby1waHAvc2hhcmVrZXkucGhwP3NrPTA0ZjI4ZicpCk1RVFRfVVNSX1BSSiA9IHNrWzBdKycvJytza1sxXSsnLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCBza1swXSwgc2tbMl0sIE1RVFRfVVNSX1BSSikKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQrnq5nlj7cgPSAwCui9puWPtyA9ICdBQkNEJwp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3Mo56uZ5Y+3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-21 数字公交-自动切换站号站台发射.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-21 数字公交-自动切换站号站台发射.mix index 40ac435a..ef3de6a9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-21 数字公交-自动切换站号站台发射.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-1-21 数字公交-自动切换站号站台发射.mix @@ -1,2 +1,2 @@ -一块板子充当站台,不断发射站号 +一块板子充当站台,不断发射站号 1True站号1WHILETRUEs5Mixly站号{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQrnq5nlj7cgPSAxCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDUpCiAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiznq5nlj7cpCg==ZmZmZmYiLOermeWPtykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-1 数字公交-公交卡充值.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-1 数字公交-公交卡充值.mix index 7193b360..0b5bb2f4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-1 数字公交-公交卡充值.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-1 数字公交-公交卡充值.mix @@ -1 +1 @@ -WHILETRUEx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1余额-1TrueMixly余额0TRUEB2keyx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1余额0099xADD1余额10informatio_picture.YESTRUE988100informatio_picture.NOTRUE165100s0.1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBZRVMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIHggPSBleHRfcmZpZC5yZWFkX2NhcmQoMCkKICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgaWYgc3RyKHR1cGxlKHgpWzFdKSAhPSAnJyBhbmQgdHVwbGUoeClbMV0gIT0gTm9uZToKICAgICAgICAgICAg5L2Z6aKdID0gaW50KHR1cGxlKHgpWzFdKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOS9meminSA9IC0xCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5L2Z6aKdLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgICAgIGlmIHN0cih0dXBsZSh4KVsxXSkgIT0gJycgYW5kIHR1cGxlKHgpWzFdICE9IE5vbmU6CiAgICAgICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICDkvZnpop0gPSAwCiAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKCjkvZnpop0gKyAxMCkpLDApOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUEx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1余额-1TrueMixly余额0TRUEB2keyx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1余额0099xADD1余额10informatio_picture.YESTRUE988100informatio_picture.NOTRUE165100s0.1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBZRVMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIHggPSBleHRfcmZpZC5yZWFkX2NhcmQoMCkKICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgaWYgc3RyKHR1cGxlKHgpWzFdKSAhPSAnJyBhbmQgdHVwbGUoeClbMV0gIT0gTm9uZToKICAgICAgICAgICAg5L2Z6aKdID0gaW50KHR1cGxlKHgpWzFdKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOS9meminSA9IC0xCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5L2Z6aKdLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgICAgIGlmIHN0cih0dXBsZSh4KVsxXSkgIT0gJycgYW5kIHR1cGxlKHgpWzFdICE9IE5vbmU6CiAgICAgICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICDkvZnpop0gPSAwCiAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKCjkvZnpop0gKyAxMCkpLDApOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoWUVTLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-2 数字公交-不同数额公交卡充值.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-2 数字公交-不同数额公交卡充值.mix index bdf088df..74cd1789 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-2 数字公交-不同数额公交卡充值.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-2-2 数字公交-不同数额公交卡充值.mix @@ -1 +1 @@ -充值模式FALSE充值金额0WHILETRUEB1key充值模式充值模式11充值模式TRUE充值模式A3keyADD充值金额10TrueMixly充值金额0TRUEA3keyMINUS充值金额10TrueMixly充值金额0TRUEB2keyx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1099xADD1余额10充值金额TrueMixlyADD1余额10充值金额0988100informatio_picture.NOTRUE165100informatio_picture.NOTRUE165100s0.1x0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1余额-1TrueMixly余额0TRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgdGltZQoK5YWF5YC85qih5byPID0gRmFsc2UK5YWF5YC86YeR6aKdID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWFheWAvOaooeW8jyA9IG5vdCDlhYXlgLzmqKHlvI8KICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOWFheWAvOaooeW8jykKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgaWYg5YWF5YC85qih5byPOgogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5YWF5YC86YeR6aKdICs9IDEwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWFheWAvOmHkeminSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5YWF5YC86YeR6aKdIC09IDEwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWFheWAvOmHkeminSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgICAgICAgICBpZiBzdHIoeCkgIT0gJ05vbmUnOgogICAgICAgICAgICAgICAgaWYgc3RyKHR1cGxlKHgpWzFdKSAhPSAnJyBhbmQgdHVwbGUoeClbMV0gIT0gTm9uZToKICAgICAgICAgICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgICAgICAgICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZChzdHIoKOS9meminSArIOWFheWAvOmHkeminSkpLDApOgogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0gKyDlhYXlgLzph5Hpop0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgICAgIGlmIHN0cih0dXBsZSh4KVsxXSkgIT0gJycgYW5kIHR1cGxlKHgpWzFdICE9IE5vbmU6CiAgICAgICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICDkvZnpop0gPSAtMQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +充值模式FALSE充值金额0WHILETRUEB1key充值模式充值模式11充值模式TRUE充值模式A3keyADD充值金额10TrueMixly充值金额0TRUEA3keyMINUS充值金额10TrueMixly充值金额0TRUEB2keyx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1099xADD1余额10充值金额TrueMixlyADD1余额10充值金额0988100informatio_picture.NOTRUE165100informatio_picture.NOTRUE165100s0.1x0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1余额-1TrueMixly余额0TRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgdGltZQoK5YWF5YC85qih5byPID0gRmFsc2UK5YWF5YC86YeR6aKdID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWFheWAvOaooeW8jyA9IG5vdCDlhYXlgLzmqKHlvI8KICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLOWFheWAvOaooeW8jykKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgaWYg5YWF5YC85qih5byPOgogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5YWF5YC86YeR6aKdICs9IDEwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWFheWAvOmHkeminSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5YWF5YC86YeR6aKdIC09IDEwCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWFheWAvOmHkeminSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgICAgICAgICBpZiBzdHIoeCkgIT0gJ05vbmUnOgogICAgICAgICAgICAgICAgaWYgc3RyKHR1cGxlKHgpWzFdKSAhPSAnJyBhbmQgdHVwbGUoeClbMV0gIT0gTm9uZToKICAgICAgICAgICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgICAgICAgICAgaWYgZXh0X3JmaWQud3JpdGVfY2FyZChzdHIoKOS9meminSArIOWFheWAvOmHkeminSkpLDApOgogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0gKyDlhYXlgLzph5Hpop0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgxNjUsIDEwMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgICAgIGlmIHN0cih0dXBsZSh4KVsxXSkgIT0gJycgYW5kIHR1cGxlKHgpWzFdICE9IE5vbmU6CiAgICAgICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICDkvZnpop0gPSAtMQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-1 数字公交-单刷卡机扣费.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-1 数字公交-单刷卡机扣费.mix index 95e0cc91..919a1be3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-1 数字公交-单刷卡机扣费.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-1 数字公交-单刷卡机扣费.mix @@ -1 +1 @@ -车费2WHILETRUEx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1099xMINUS1余额2车费TrueMixlyMINUS1余额2车费0TRUE988100informatio_picture.NOTRUE165100informatio_picture.NOTRUE165100s0.1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KaW1wb3J0IHRpbWUKCui9pui0uSA9IDIKd2hpbGUgVHJ1ZToKICAgIHggPSBleHRfcmZpZC5yZWFkX2NhcmQoMCkKICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgaWYgc3RyKHR1cGxlKHgpWzFdKSAhPSAnJyBhbmQgdHVwbGUoeClbMV0gIT0gTm9uZToKICAgICAgICAgICAg5L2Z6aKdID0gaW50KHR1cGxlKHgpWzFdKQogICAgICAgICAgICBpZiBleHRfcmZpZC53cml0ZV9jYXJkKHN0cigo5L2Z6aKdIC0g6L2m6LS5KSksMCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0gLSDovabotLksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +车费2WHILETRUEx0NEQxxNoneANDNEQxmytupx1NEQmytupx1余额intmytupx1099xMINUS1余额2车费TrueMixlyMINUS1余额2车费0TRUE988100informatio_picture.NOTRUE165100informatio_picture.NOTRUE165100s0.1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KaW1wb3J0IHRpbWUKCui9pui0uSA9IDIKd2hpbGUgVHJ1ZToKICAgIHggPSBleHRfcmZpZC5yZWFkX2NhcmQoMCkKICAgIGlmIHN0cih4KSAhPSAnTm9uZSc6CiAgICAgICAgaWYgc3RyKHR1cGxlKHgpWzFdKSAhPSAnJyBhbmQgdHVwbGUoeClbMV0gIT0gTm9uZToKICAgICAgICAgICAg5L2Z6aKdID0gaW50KHR1cGxlKHgpWzFdKQogICAgICAgICAgICBpZiBleHRfcmZpZC53cml0ZV9jYXJkKHN0cigo5L2Z6aKdIC0g6L2m6LS5KSksMCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0gLSDovabotLksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMTAwKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTY1LCAxMDApCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-2 数字公交-防重复单刷卡机扣费.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-2 数字公交-防重复单刷卡机扣费.mix index 16d6871b..62fd90de 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-2 数字公交-防重复单刷卡机扣费.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-3-2 数字公交-防重复单刷卡机扣费.mix @@ -1 +1 @@ -旧卡号0车费2WHILETRUEx0NEQxxNoneMixlyxANDNEQxmytupx1NEQmytupx1余额intmytupx1新卡号intmytupx0ANDNEQ新卡号旧卡号GTE余额车费099xMINUS1余额2车费TrueMixlyMINUS1余额2车费0TRUE98850旧卡号新卡号informatio_picture.NOTRUEinformatio_picture.NOTRUEs0.1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KaW1wb3J0IHRpbWUKCuaXp+WNoeWPtyA9IDAK6L2m6LS5ID0gMgp3aGlsZSBUcnVlOgogICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgaWYgc3RyKHgpICE9ICdOb25lJzoKICAgICAgICBpZiBzdHIodHVwbGUoeClbMV0pICE9ICcnIGFuZCB0dXBsZSh4KVsxXSAhPSBOb25lOgogICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgIOaWsOWNoeWPtyA9IGludCh0dXBsZSh4KVswXSkKICAgICAgICAgICAgaWYg5paw5Y2h5Y+3ICE9IOaXp+WNoeWPtyBhbmQg5L2Z6aKdID49IOi9pui0uToKICAgICAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKCjkvZnpop0gLSDovabotLkpKSwwKToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0gLSDovabotLksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCA1MCkKICAgICAgICAgICAgICAgICAgICDml6fljaHlj7cgPSDmlrDljaHlj7cKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +旧卡号0车费2WHILETRUEx0NEQxxNoneMixlyxANDNEQxmytupx1NEQmytupx1余额intmytupx1新卡号intmytupx0ANDNEQ新卡号旧卡号GTE余额车费099xMINUS1余额2车费TrueMixlyMINUS1余额2车费0TRUE98850旧卡号新卡号informatio_picture.NOTRUEinformatio_picture.NOTRUEs0.1{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KaW1wb3J0IHRpbWUKCuaXp+WNoeWPtyA9IDAK6L2m6LS5ID0gMgp3aGlsZSBUcnVlOgogICAgeCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwKQogICAgaWYgc3RyKHgpICE9ICdOb25lJzoKICAgICAgICBpZiBzdHIodHVwbGUoeClbMV0pICE9ICcnIGFuZCB0dXBsZSh4KVsxXSAhPSBOb25lOgogICAgICAgICAgICDkvZnpop0gPSBpbnQodHVwbGUoeClbMV0pCiAgICAgICAgICAgIOaWsOWNoeWPtyA9IGludCh0dXBsZSh4KVswXSkKICAgICAgICAgICAgaWYg5paw5Y2h5Y+3ICE9IOaXp+WNoeWPtyBhbmQg5L2Z6aKdID49IOi9pui0uToKICAgICAgICAgICAgICAgIGlmIGV4dF9yZmlkLndyaXRlX2NhcmQoc3RyKCjkvZnpop0gLSDovabotLkpKSwwKToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvZnpop0gLSDovabotLksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCA1MCkKICAgICAgICAgICAgICAgICAgICDml6fljaHlj7cgPSDmlrDljaHlj7cKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-1 数字公交-实时公交车辆端.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-1 数字公交-实时公交车辆端.mix index f03d5e62..1870e6a4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-1 数字公交-实时公交车辆端.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-1 数字公交-实时公交车辆端.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cn04f28ftimPERIODICtim20000tim_callback站号0路线编号ABCDWHILETRUEB1keyADDa站号1车辆信息msg"路线编号""站号"路线编号站号B2keyMINUSa站号1站号max1站号0车辆信息msg"路线编号""站号"路线编号站号TrueMixly站号0TRUEtim_callback防止断线11{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKIyDpmLLmraLmlq3nur8KZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwobm90IG1xdHRfY2xpZW50LnBpbmdTeW5jKCkpKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9MDRmMjhmJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDIwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK56uZ5Y+3ID0gMArot6/nur/nvJblj7cgPSAnQUJDRCcKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnq5nlj7cgKz0gMQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+i9pui+huS/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLot6/nur/nvJblj7ciOiDot6/nur/nvJblj7csICLnq5nlj7ciOiDnq5nlj7d9KSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnq5nlj7cgLT0gMQogICAgICAgIOermeWPtyA9IG1heCjnq5nlj7csIDApCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui3r+e6v+e8luWPtyI6IOi3r+e6v+e8luWPtywgIuermeWPtyI6IOermeWPt30pKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo56uZ5Y+3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +timfuhua312345678mixio.mixly.cn04f28ftimPERIODICtim20000tim_callback站号0路线编号ABCDWHILETRUEB1keyADDa站号1车辆信息msg"路线编号""站号"路线编号站号B2keyMINUSa站号1站号max1站号0车辆信息msg"路线编号""站号"路线编号站号TrueMixly站号0TRUEtim_callback防止断线11{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKIyDpmLLmraLmlq3nur8KZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwobm90IG1xdHRfY2xpZW50LnBpbmdTeW5jKCkpKQoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCnNrID0gYW5hbHlzZV9zaGFyZWtleSgnaHR0cDovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9MDRmMjhmJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDIwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK56uZ5Y+3ID0gMArot6/nur/nvJblj7cgPSAnQUJDRCcKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnq5nlj7cgKz0gMQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+i9pui+huS/oeaBrycsIG1peHB5LmZvcm1hdF9zdHIoeyLot6/nur/nvJblj7ciOiDot6/nur/nvJblj7csICLnq5nlj7ciOiDnq5nlj7d9KSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnq5nlj7cgLT0gMQogICAgICAgIOermeWPtyA9IG1heCjnq5nlj7csIDApCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJywgbWl4cHkuZm9ybWF0X3N0cih7Iui3r+e6v+e8luWPtyI6IOi3r+e6v+e8luWPtywgIuermeWPtyI6IOermeWPt30pKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo56uZ5Y+3LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-2 数字公交-实时公交站台端.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-2 数字公交-实时公交站台端.mix index 05029037..6e15cb48 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-2 数字公交-实时公交站台端.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/3-4-2 数字公交-实时公交站台端.mix @@ -1 +1 @@ -clienttopicmsgfuhua312345678mixio.mixly.cn04f28f站台位置"ABCD""1111""2222"1197车辆信息methodWHILETRUEmethod路线编号mydict{"name":"Mixly","color":"green"}msg路线编号站号intmydict{"name":"Mixly","color":"green"}msg站号Mixly路线编号Mixly站号距离MINUS1站台位置key路线编号1站号MixlyHello路线编号Mixlyx距离{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IGpzb24KZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg6Lev57q/57yW5Y+3ID0ganNvbi5sb2Fkcyhtc2cpWyfot6/nur/nvJblj7cnXQogICAg56uZ5Y+3ID0gaW50KGpzb24ubG9hZHMobXNnKVsn56uZ5Y+3J10pCiAgICBwcmludCjot6/nur/nvJblj7cpCiAgICBwcmludCjnq5nlj7cpCiAgICDot53nprsgPSDnq5nlj7DkvY3nva5b6Lev57q/57yW5Y+3XSAtIOermeWPtwogICAgb25ib2FyZF90ZnQuc2Nyb2xsKOi3r+e6v+e8luWPtyArIHN0cijot53nprspLCBjb2xvcj0weGZmZmYpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCuermeWPsOS9jee9rj0geyJBQkNEIjoxMSwgIjExMTEiOjksICIyMjIyIjo3fQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+i9pui+huS/oeaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file +clienttopicmsgfuhua312345678mixio.mixly.cn04f28f站台位置"ABCD""1111""2222"1197车辆信息methodWHILETRUEmethod路线编号mydict{"name":"Mixly","color":"green"}msg路线编号站号intmydict{"name":"Mixly","color":"green"}msg站号Mixly路线编号Mixly站号距离MINUS1站台位置key路线编号1站号MixlyHello路线编号Mixlyx距离{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQppbXBvcnQgdXJlcXVlc3RzCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gbWl4cHkgaW1wb3J0IGFuYWx5c2Vfc2hhcmVrZXkKaW1wb3J0IGpzb24KZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAg6Lev57q/57yW5Y+3ID0ganNvbi5sb2Fkcyhtc2cpWyfot6/nur/nvJblj7cnXQogICAg56uZ5Y+3ID0gaW50KGpzb24ubG9hZHMobXNnKVsn56uZ5Y+3J10pCiAgICBwcmludCjot6/nur/nvJblj7cpCiAgICBwcmludCjnq5nlj7cpCiAgICDot53nprsgPSDnq5nlj7DkvY3nva5b6Lev57q/57yW5Y+3XSAtIOermeWPtwogICAgb25ib2FyZF90ZnQuc2Nyb2xsKOi3r+e6v+e8luWPtyArIHN0cijot53nprspLCBjb2xvcj0weGZmZmYpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnZnVodWEzJywgJzEyMzQ1Njc4JykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwOi8vbWl4aW8ubWl4bHkuY24vbWl4aW8tcGhwL3NoYXJla2V5LnBocD9zaz0wNGYyOGYnKQpNUVRUX1VTUl9QUkogPSBza1swXSsnLycrc2tbMV0rJy8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgc2tbMF0sIHNrWzJdLCBNUVRUX1VTUl9QUkopCuermeWPsOS9jee9rj0geyJBQkNEIjoxMSwgIjExMTEiOjksICIyMjIyIjo3fQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+i9pui+huS/oeaBrycsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn6L2m6L6G5L+h5oGvJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-1 智慧车场-单入口空余车位显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-1 智慧车场-单入口空余车位显示.mix index 452b2952..97102a60 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-1 智慧车场-单入口空余车位显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-1 智慧车场-单入口空余车位显示.mix @@ -1 +1 @@ -timXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callbackWHILETRUEcardidNEQcardid659100not inxcardid0,1,2,3s1adds10cardid入库车辆msgcardiddiscards10cardid出库车辆msgcardidTrueINMINUS1总车位1s10s0.5tim_callback11{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsKG5vdCBtcXR0X2NsaWVudC5waW5nU3luYygpKSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCc4ODg4ODg4OCcpCnMxID0gc2V0KCkK5oC76L2m5L2NID0gOTkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBjYXJkaWQgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgY2FyZGlkICE9IE5vbmU6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIGlmIGNhcmRpZCBub3QgaW4gczE6CiAgICAgICAgICAgIHMxLmFkZChjYXJkaWQpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzMS5kaXNjYXJkKGNhcmRpZCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywgY2FyZGlkKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5oC76L2m5L2NIC0gbGVuKHMxKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file +timXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callbackWHILETRUEcardidNEQcardid659100not inxcardid0,1,2,3s1adds10cardid入库车辆msgcardiddiscards10cardid出库车辆msgcardidTrueINMINUS1总车位1s10s0.5tim_callback11{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWluaV9nMgpmcm9tIG1pbmlfZzIgaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfbWF0cml4CmltcG9ydCB0aW1lCmZyb20gbWl4Z29fbWluaSBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsKG5vdCBtcXR0X2NsaWVudC5waW5nU3luYygpKSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCc4ODg4ODg4OCcpCnMxID0gc2V0KCkK5oC76L2m5L2NID0gOTkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlID0gbWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2sgPSB0aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBjYXJkaWQgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgY2FyZGlkICE9IE5vbmU6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIGlmIGNhcmRpZCBub3QgaW4gczE6CiAgICAgICAgICAgIHMxLmFkZChjYXJkaWQpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzMS5kaXNjYXJkKGNhcmRpZCkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywgY2FyZGlkKQogICAgb25ib2FyZF9tYXRyaXguc2hvd3Mo5oC76L2m5L2NIC0gbGVuKHMxKSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-2 智慧车场-单入口空余车位显示含时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-2 智慧车场-单入口空余车位显示含时间.mix index c8df19af..b587c94f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-2 智慧车场-单入口空余车位显示含时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-1-2 智慧车场-单入口空余车位显示含时间.mix @@ -1 +1 @@ -timXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callback2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comWHILETRUEcardidNEQcardid659100Mixlynot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardiddiscards10cardid出库车辆msgcardidTrueMixlyMINUS1总车位1s10TRUEtim_callback11{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsKG5vdCBtcXR0X2NsaWVudC5waW5nU3luYygpKSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdYRkNGMTAxNScsICc4ODg4ODg4OCcpCnMxID0gc2V0KCkK5oC76L2m5L2NID0gOTkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHAuYWxpeXVuLmNvbScpKQp3aGlsZSBUcnVlOgogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwocnRjdGltZS5zdHJ0aW1lKCksIGNvbG9yPTB4ZmZmZikKICAgICAgICBpZiBjYXJkaWQgbm90IGluIHMxOgogICAgICAgICAgICBzMS5hZGQoY2FyZGlkKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCBjYXJkaWQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgczEuZGlzY2FyZChjYXJkaWQpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIGNhcmRpZCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaAu+i9puS9jSAtIGxlbihzMSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +timXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demotimPERIODICtim5000tim_callback2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comWHILETRUEcardidNEQcardid659100Mixlynot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardiddiscards10cardid出库车辆msgcardidTrueMixlyMINUS1总车位1s10TRUEtim_callback11{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsKG5vdCBtcXR0X2NsaWVudC5waW5nU3luYygpKSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdYRkNGMTAxNScsICc4ODg4ODg4OCcpCnMxID0gc2V0KCkK5oC76L2m5L2NID0gOTkKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSA1MDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHAuYWxpeXVuLmNvbScpKQp3aGlsZSBUcnVlOgogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zY3JvbGwocnRjdGltZS5zdHJ0aW1lKCksIGNvbG9yPTB4ZmZmZikKICAgICAgICBpZiBjYXJkaWQgbm90IGluIHMxOgogICAgICAgICAgICBzMS5hZGQoY2FyZGlkKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCBjYXJkaWQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgczEuZGlzY2FyZChjYXJkaWQpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIGNhcmRpZCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaAu+i9puS9jSAtIGxlbihzMSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-1 智慧车场-空余车位显示入口.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-1 智慧车场-空余车位显示入口.mix index 6761f227..d5cece85 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-1 智慧车场-空余车位显示入口.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-1 智慧车场-空余车位显示入口.mix @@ -1 +1 @@ -clienttopicmsgXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo出库车辆methodWHILETRUEcardidANDNEQcardidnot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardid659100TrueMixlyMINUS1总车位1s10TRUEs0.5methods1discards10intmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgczEKICAgIHMxLmRpc2NhcmQoaW50KG1zZykpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpzMSA9IHNldCgpCuaAu+i9puS9jSA9IDk5Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5Ye65bqT6L2m6L6GJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflh7rlupPovabovoYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGNhcmRpZCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBjYXJkaWQgIT0gTm9uZSBhbmQgY2FyZGlkIG5vdCBpbiBzMToKICAgICAgICBzMS5hZGQoY2FyZGlkKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyjmgLvovabkvY0gLSBsZW4oczEpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +clienttopicmsgXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo出库车辆methodWHILETRUEcardidANDNEQcardidnot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardid659100TrueMixlyMINUS1总车位1s10TRUEs0.5methods1discards10intmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgczEKICAgIHMxLmRpc2NhcmQoaW50KG1zZykpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpzMSA9IHNldCgpCuaAu+i9puS9jSA9IDk5Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5Ye65bqT6L2m6L6GJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflh7rlupPovabovoYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGNhcmRpZCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBjYXJkaWQgIT0gTm9uZSBhbmQgY2FyZGlkIG5vdCBpbiBzMToKICAgICAgICBzMS5hZGQoY2FyZGlkKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyjmgLvovabkvY0gLSBsZW4oczEpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-2 智慧车场-空余车位显示出口.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-2 智慧车场-空余车位显示出口.mix index ab600639..20b3957e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-2 智慧车场-空余车位显示出口.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-2-2 智慧车场-空余车位显示出口.mix @@ -1 +1 @@ -timXFCF101588888888True出口0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demooldid0timPERIODICtim5000tim_callbackWHILETRUEcardidANDNEQcardidNEQcardidoldid出库车辆msgcardid659100oldidcardids0.5tim_callback11{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsKG5vdCBtcXR0X2NsaWVudC5waW5nU3luYygpKSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdYRkNGMTAxNScsICc4ODg4ODg4OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCflh7rlj6MnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9sZGlkID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lIGFuZCBjYXJkaWQgIT0gb2xkaWQ6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywgY2FyZGlkKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbGRpZCA9IGNhcmRpZAogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +timXFCF101588888888True出口0TRUEmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demooldid0timPERIODICtim5000tim_callbackWHILETRUEcardidANDNEQcardidNEQcardidoldid出库车辆msgcardid659100oldidcardids0.5tim_callback11{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsKG5vdCBtcXR0X2NsaWVudC5waW5nU3luYygpKSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdYRkNGMTAxNScsICc4ODg4ODg4OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCflh7rlj6MnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm9sZGlkID0gMAp0aW0gPSBtYWNoaW5lLlRpbWVyKDApCnRpbS5pbml0KHBlcmlvZCA9IDUwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lIGFuZCBjYXJkaWQgIT0gb2xkaWQ6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywgY2FyZGlkKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbGRpZCA9IGNhcmRpZAogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-1 智慧车场-显示停留时间入口.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-1 智慧车场-显示停留时间入口.mix index e26633b2..688b3c27 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-1 智慧车场-显示停留时间入口.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-1 智慧车场-显示停留时间入口.mix @@ -1 +1 @@ -clienttopicmsgXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo出库车辆methodWHILETRUEcardidANDNEQcardidnot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardid659100TrueMixlyMINUS1总车位1s10TRUEs0.5methods1discards10intmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgczEKICAgIHMxLmRpc2NhcmQoaW50KG1zZykpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpzMSA9IHNldCgpCuaAu+i9puS9jSA9IDk5Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5Ye65bqT6L2m6L6GJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflh7rlupPovabovoYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGNhcmRpZCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBjYXJkaWQgIT0gTm9uZSBhbmQgY2FyZGlkIG5vdCBpbiBzMToKICAgICAgICBzMS5hZGQoY2FyZGlkKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyjmgLvovabkvY0gLSBsZW4oczEpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +clienttopicmsgXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo出库车辆methodWHILETRUEcardidANDNEQcardidnot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardid659100TrueMixlyMINUS1总车位1s10TRUEs0.5methods1discards10intmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgczEKICAgIHMxLmRpc2NhcmQoaW50KG1zZykpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpzMSA9IHNldCgpCuaAu+i9puS9jSA9IDk5Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5Ye65bqT6L2m6L6GJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflh7rlupPovabovoYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGNhcmRpZCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBjYXJkaWQgIT0gTm9uZSBhbmQgY2FyZGlkIG5vdCBpbiBzMToKICAgICAgICBzMS5hZGQoY2FyZGlkKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICBvbmJvYXJkX3RmdC5zaG93cyjmgLvovabkvY0gLSBsZW4oczEpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-2 智慧车场-显示停留时间出口.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-2 智慧车场-显示停留时间出口.mix index f46825c3..04041888 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-2 智慧车场-显示停留时间出口.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-3-2 智慧车场-显示停留时间出口.mix @@ -1 +1 @@ -clienttopicmsgXFCF101588888888True出口0TRUEmydictmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo入库车辆methodWHILETRUEcardidANDNEQcardidinxcardid0,1,2,3mydict出库车辆msgcardid659100oldidcardidTrueMixlyZHENGCHU1MINUS1ms1mydictkeycardid10000TRUEs0.5methodmydictmydictkeyintmsg0ms{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBteWRpY3RbaW50KG1zZyldID0gdGltZS50aWNrc19tcygpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpvbmJvYXJkX3RmdC5zaG93cygn5Ye65Y+jJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpteWRpY3Q9IHt9Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YWl5bqT6L2m6L6GJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGNhcmRpZCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBjYXJkaWQgIT0gTm9uZSBhbmQgY2FyZGlkIGluIG15ZGljdC5rZXlzKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywgY2FyZGlkKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbGRpZCA9IGNhcmRpZAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLnRpY2tzX21zKCkgLSBteWRpY3RbY2FyZGlkXSkgLy8gMTAwMCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +clienttopicmsgXFCF101588888888True出口0TRUEmydictmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo入库车辆methodWHILETRUEcardidANDNEQcardidinxcardid0,1,2,3mydict出库车辆msgcardid659100oldidcardidTrueMixlyZHENGCHU1MINUS1ms1mydictkeycardid10000TRUEs0.5methodmydictmydictkeyintmsg0ms{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBteWRpY3RbaW50KG1zZyldID0gdGltZS50aWNrc19tcygpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpvbmJvYXJkX3RmdC5zaG93cygn5Ye65Y+jJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpteWRpY3Q9IHt9Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5YWl5bqT6L2m6L6GJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkKICAgIGNhcmRpZCA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBjYXJkaWQgIT0gTm9uZSBhbmQgY2FyZGlkIGluIG15ZGljdC5rZXlzKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywgY2FyZGlkKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbGRpZCA9IGNhcmRpZAogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLnRpY2tzX21zKCkgLSBteWRpY3RbY2FyZGlkXSkgLy8gMTAwMCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-1 智慧车场-显示入库时间入口.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-1 智慧车场-显示入库时间入口.mix index 6624f832..6e3c9c15 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-1 智慧车场-显示入库时间入口.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-1 智慧车场-显示入库时间入口.mix @@ -1 +1 @@ -clienttopicmsgXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.com出库车辆methodWHILETRUEcardidANDNEQcardidnot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardid659100TrueMixly0TRUETrueMixlyMINUS1总车位1s10TRUEs0.5methods1discards10intmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgczEKICAgIHMxLmRpc2NhcmQoaW50KG1zZykpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpzMSA9IHNldCgpCuaAu+i9puS9jSA9IDk5Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflh7rlupPovabovoYnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lIGFuZCBjYXJkaWQgbm90IGluIHMxOgogICAgICAgIHMxLmFkZChjYXJkaWQpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWl5bqT6L2m6L6GJywgY2FyZGlkKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhydGN0aW1lLnN0cnRpbWUoKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5oC76L2m5L2NIC0gbGVuKHMxKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +clienttopicmsgXFCF101588888888s1总车位99mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.com出库车辆methodWHILETRUEcardidANDNEQcardidnot inxcardid0,1,2,3s1adds10cardid入库车辆msgcardid659100TrueMixly0TRUETrueMixlyMINUS1总车位1s10TRUEs0.5methods1discards10intmsg{}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgczEKICAgIHMxLmRpc2NhcmQoaW50KG1zZykpCgoKbWl4aW90LndsYW5fY29ubmVjdCgnWEZDRjEwMTUnLCAnODg4ODg4ODgnKQpzMSA9IHNldCgpCuaAu+i9puS9jSA9IDk5Ck1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflh7rlupPovabovoYnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgY2FyZGlkID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIGNhcmRpZCAhPSBOb25lIGFuZCBjYXJkaWQgbm90IGluIHMxOgogICAgICAgIHMxLmFkZChjYXJkaWQpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWl5bqT6L2m6L6GJywgY2FyZGlkKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhydGN0aW1lLnN0cnRpbWUoKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5oC76L2m5L2NIC0gbGVuKHMxKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-2 智慧车场-显示入库时间出库.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-2 智慧车场-显示入库时间出库.mix index 7de96b0f..4485b364 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-2 智慧车场-显示入库时间出库.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期6/4-4-2 智慧车场-显示入库时间出库.mix @@ -1 +1 @@ -clienttopicmsgXFCF101588888888True出口0TRUEmydictmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo入库车辆method2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comWHILETRUEcardidANDNEQcardidinxcardid0,1,2,3mydict出库车辆msgcardid659100oldidcardidmydictkeycardidTrueMixlyx18029mydictkeycardid02020255,255,0#ffffffFALSETrueMixlyMINUS11mydictkeycardid012020255,255,0#ffffffTRUEs0.5methodmydictmydictkeyintmsg0Mixly001255,255,0#ffffffTRUE{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBteWRpY3RbaW50KG1zZyldID0gdGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdYRkNGMTAxNScsICc4ODg4ODg4OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCflh7rlj6MnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCm15ZGljdD0ge30KTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflhaXlupPovabovoYnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBjYXJkaWQgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgY2FyZGlkICE9IE5vbmUgYW5kIGNhcmRpZCBpbiBteWRpY3Qua2V5cygpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb2xkaWQgPSBjYXJkaWQKICAgICAgICBwcmludCh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSwgbXlkaWN0W2NhcmRpZF0pCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKHRpbWUubG9jYWx0aW1lKG15ZGljdFtjYXJkaWRdKSksIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3ModGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkgLSBteWRpY3RbY2FyZGlkXSwgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQoKb25ib2FyZF90ZnQudGV4dHMoJ01peGx5JywgeD0wLCB5PTAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +clienttopicmsgXFCF101588888888True出口0TRUEmydictmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo入库车辆method2023,1,1,12,0,0ntp.aliyun.comntp.aliyun.comWHILETRUEcardidANDNEQcardidinxcardid0,1,2,3mydict出库车辆msgcardid659100oldidcardidmydictkeycardidTrueMixlyx18029mydictkeycardid02020255,255,0#ffffffFALSETrueMixlyMINUS11mydictkeycardid012020255,255,0#ffffffTRUEs0.5methodmydictmydictkeyintmsg0Mixly001255,255,0#ffffffTRUE{}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYWNoaW5lCmZyb20gdWJpbmFzY2lpIGltcG9ydCBoZXhsaWZ5CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgpkZWYgbWV0aG9kKGNsaWVudCwgdG9waWMsIG1zZyk6CiAgICBnbG9iYWwgbXlkaWN0CiAgICBteWRpY3RbaW50KG1zZyldID0gdGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdYRkNGMTAxNScsICc4ODg4ODg4OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCflh7rlj6MnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCm15ZGljdD0ge30KTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflhaXlupPovabovoYnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBjYXJkaWQgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgY2FyZGlkICE9IE5vbmUgYW5kIGNhcmRpZCBpbiBteWRpY3Qua2V5cygpOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIGNhcmRpZCkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb2xkaWQgPSBjYXJkaWQKICAgICAgICBwcmludCh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSwgbXlkaWN0W2NhcmRpZF0pCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKHRpbWUubG9jYWx0aW1lKG15ZGljdFtjYXJkaWRdKSksIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3ModGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkgLSBteWRpY3RbY2FyZGlkXSwgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQoKb25ib2FyZF90ZnQudGV4dHMoJ01peGx5JywgeD0wLCB5PTAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-1 生日蜡烛-点蜡烛.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-1 生日蜡烛-点蜡烛.mix index daa1ac1b..43426174 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-1 生日蜡烛-点蜡烛.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-1 生日蜡烛-点蜡烛.mix @@ -1 +1 @@ -WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEMixlys1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1pbmlfZzIKZnJvbSBtaW5pX2cyIGltcG9ydCBleHRfcmZpZAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICBwcmludChleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-2 生日蜡烛-挨个点亮.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-2 生日蜡烛-挨个点亮.mix index 3ace3fa8..4aea9e04 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-2 生日蜡烛-挨个点亮.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-1-2 生日蜡烛-挨个点亮.mix @@ -1 +1 @@ -WHILETRUEGTl1000030300130300GTr1000230300330300{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9ICgzMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIG9uYm9hcmRfcmdiWzJdID0gKDMwLCAzMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9ICgzMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file +WHILETRUEGTl1000030300130300GTr1000230300330300{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9ICgzMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIG9uYm9hcmRfcmdiWzJdID0gKDMwLCAzMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9ICgzMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-1 生日蜡烛-蜡烛闪烁.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-1 生日蜡烛-蜡烛闪烁.mix index e92f00e9..52ada41a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-1 生日蜡烛-蜡烛闪烁.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-1 生日蜡烛-蜡烛闪烁.mix @@ -1 +1 @@ -点亮01FALSE点亮23FALSEWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUE点亮01030int103030int10300130int103030int10300点亮23230int103030int10300330int103030int10300s0.2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCByYW5kb20KaW1wb3J0IHRpbWUKCueCueS6rjAxID0gRmFsc2UK54K55LquMjMgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjAxID0gVHJ1ZQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjIzID0gVHJ1ZQogICAgaWYg54K55LquMDE6CiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2JbMV0gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYg54K55LquMjM6CiAgICAgICAgb25ib2FyZF9yZ2JbMl0gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file +点亮01FALSE点亮23FALSEWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUE点亮01030int103030int10300130int103030int10300点亮23230int103030int10300330int103030int10300s0.2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCByYW5kb20KaW1wb3J0IHRpbWUKCueCueS6rjAxID0gRmFsc2UK54K55LquMjMgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjAxID0gVHJ1ZQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjIzID0gVHJ1ZQogICAgaWYg54K55LquMDE6CiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2JbMV0gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYg54K55LquMjM6CiAgICAgICAgb25ib2FyZF9yZ2JbMl0gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoKHJhbmRvbS5yYW5kaW50KDEwLCAzMCkpLCAocmFuZG9tLnJhbmRpbnQoMTAsIDMwKSksIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-2 生日蜡烛-闪烁改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-2 生日蜡烛-闪烁改进.mix index f0482f12..09845e27 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-2 生日蜡烛-闪烁改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-2-2 生日蜡烛-闪烁改进.mix @@ -1 +1 @@ -点亮01FALSE点亮23FALSEWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUE点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHRpbWUKCueCueS6rjAxID0gRmFsc2UK54K55LquMjMgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjAxID0gVHJ1ZQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjIzID0gVHJ1ZQogICAgaWYg54K55LquMDE6CiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKGQsIGQsIDApCiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzFdID0gKGQsIGQsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYg54K55LquMjM6CiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzJdID0gKGQsIGQsIDApCiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzNdID0gKGQsIGQsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +点亮01FALSE点亮23FALSEWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUE点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHRpbWUKCueCueS6rjAxID0gRmFsc2UK54K55LquMjMgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjAxID0gVHJ1ZQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjIzID0gVHJ1ZQogICAgaWYg54K55LquMDE6CiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKGQsIGQsIDApCiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzFdID0gKGQsIGQsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgaWYg54K55LquMjM6CiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzJdID0gKGQsIGQsIDApCiAgICAgICAgZCA9IHJhbmRvbS5yYW5kaW50KDUsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiWzNdID0gKGQsIGQsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-1 生日蜡烛-播放音乐.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-1 生日蜡烛-播放音乐.mix index 5b0e5544..4229fddf 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-1 生日蜡烛-播放音乐.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-1 生日蜡烛-播放音乐.mix @@ -1 +1 @@ -点亮01FALSE点亮23FALSEWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUE点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0AND点亮01点亮23onboard_music.BIRTHDAY{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgrngrnkuq4wMSA9IEZhbHNlCueCueS6rjIzID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjIzOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsyXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CSVJUSERBWSkK2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiDngrnkuq4wMToKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMV0gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiDngrnkuq4yMzoKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMl0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK54K55LquMDEgPSBGYWxzZQrngrnkuq4yMyA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CSVJUSERBWSkK \ No newline at end of file +点亮01FALSE点亮23FALSEWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUE点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0AND点亮01点亮23onboard_music.BIRTHDAY{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgrngrnkuq4wMSA9IEZhbHNlCueCueS6rjIzID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjIzOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsyXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CSVJUSERBWSkK2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiDngrnkuq4wMToKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMV0gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiDngrnkuq4yMzoKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMl0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK54K55LquMDEgPSBGYWxzZQrngrnkuq4yMyA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CSVJUSERBWSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-2 生日蜡烛-循环播放.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-2 生日蜡烛-循环播放.mix index 23c05c2a..4829eb72 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-2 生日蜡烛-循环播放.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-3-2 生日蜡烛-循环播放.mix @@ -1 +1 @@ -tim点亮01FALSE点亮23FALSEtimPERIODICtim100tim_callbackWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUEAND点亮01点亮23onboard_music.BIRTHDAYtim_callback点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiDngrnkuq4wMToKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMV0gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiDngrnkuq4yMzoKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMl0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK54K55LquMDEgPSBGYWxzZQrngrnkuq4yMyA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CSVJUSERBWSkK \ No newline at end of file +tim点亮01FALSE点亮23FALSEtimPERIODICtim100tim_callbackWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUEAND点亮01点亮23onboard_music.BIRTHDAYtim_callback点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBpZiDngrnkuq4wMToKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMV0gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiDngrnkuq4yMzoKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbMl0gPSAoZCwgZCwgMCkKICAgICAgICBkID0gcmFuZG9tLnJhbmRpbnQoNSwgMTApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoZCwgZCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCgoK54K55LquMDEgPSBGYWxzZQrngrnkuq4yMyA9IEZhbHNlCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5CSVJUSERBWSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-1 生日蜡烛-吹蜡烛.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-1 生日蜡烛-吹蜡烛.mix index b71304af..e486cabe 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-1 生日蜡烛-吹蜡烛.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-1 生日蜡烛-吹蜡烛.mix @@ -1 +1 @@ -tim点亮01FALSE点亮23FALSEtimPERIODICtim100tim_callbackWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUEAND点亮01点亮23onboard_music.BIRTHDAYtim_callback点亮23点亮01MixlyGT2000点亮01FALSE点亮23FALSE000点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHJhbmRvbQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOeCueS6rjIzCiAgICBnbG9iYWwg54K55LquMDEKICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgaWYgb25ib2FyZF9zb3VuZC5yZWFkKCkgPiAyMDAwOgogICAgICAgIOeCueS6rjAxID0gRmFsc2UKICAgICAgICDngrnkuq4yMyA9IEZhbHNlCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjAxOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjIzOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsyXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrngrnkuq4wMSA9IEZhbHNlCueCueS6rjIzID0gRmFsc2UKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjAxID0gVHJ1ZQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjIzID0gVHJ1ZQogICAgaWYg54K55LquMDEgYW5kIOeCueS6rjIzOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJJUlRIREFZKQo= \ No newline at end of file +tim点亮01FALSE点亮23FALSEtimPERIODICtim100tim_callbackWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUEAND点亮01点亮23onboard_music.BIRTHDAYtim_callback点亮23点亮01MixlyGT2000点亮01FALSE点亮23FALSE000点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHJhbmRvbQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOeCueS6rjIzCiAgICBnbG9iYWwg54K55LquMDEKICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgaWYgb25ib2FyZF9zb3VuZC5yZWFkKCkgPiAyMDAwOgogICAgICAgIOeCueS6rjAxID0gRmFsc2UKICAgICAgICDngrnkuq4yMyA9IEZhbHNlCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjAxOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjIzOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsyXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrngrnkuq4wMSA9IEZhbHNlCueCueS6rjIzID0gRmFsc2UKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjAxID0gVHJ1ZQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiAxMDAwOgogICAgICAgIOeCueS6rjIzID0gVHJ1ZQogICAgaWYg54K55LquMDEgYW5kIOeCueS6rjIzOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJJUlRIREFZKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-2 生日蜡烛-吹蜡烛音乐.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-2 生日蜡烛-吹蜡烛音乐.mix index 9efa1768..a921e011 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-2 生日蜡烛-吹蜡烛音乐.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/1-4-2 生日蜡烛-吹蜡烛音乐.mix @@ -1 +1 @@ -tim点亮01FALSE点亮23FALSEtimPERIODICtim100tim_callbackMixlyWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUEAND点亮01点亮23onboard_music.BIRTHDAYException as eetim_callback点亮23点亮01GT2000点亮01FALSE点亮23FALSE000点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHJhbmRvbQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOeCueS6rjIzCiAgICBnbG9iYWwg54K55LquMDEKICAgIGlmIG9uYm9hcmRfc291bmQucmVhZCgpID4gMjAwMDoKICAgICAgICDngrnkuq4wMSA9IEZhbHNlCiAgICAgICAg54K55LquMjMgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfbXVzaWMuc3RvcCgpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjAxOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjIzOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsyXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrngrnkuq4wMSA9IEZhbHNlCueCueS6rjIzID0gRmFsc2UKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQpwcmludChvbmJvYXJkX3NvdW5kLnJlYWQoKSkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICB0cnk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJJUlRIREFZKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkK= \ No newline at end of file +tim点亮01FALSE点亮23FALSEtimPERIODICtim100tim_callbackMixlyWHILETRUEGTl1000点亮01TRUEGTr1000点亮23TRUEAND点亮01点亮23onboard_music.BIRTHDAYException as eetim_callback点亮23点亮01GT2000点亮01FALSE点亮23FALSE000点亮01dint510030d30d0dint510130d30d0点亮23dint510230d30d0dint510330d30d0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKaW1wb3J0IHJhbmRvbQoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOeCueS6rjIzCiAgICBnbG9iYWwg54K55LquMDEKICAgIGlmIG9uYm9hcmRfc291bmQucmVhZCgpID4gMjAwMDoKICAgICAgICDngrnkuq4wMSA9IEZhbHNlCiAgICAgICAg54K55LquMjMgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfbXVzaWMuc3RvcCgpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjAxOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsxXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGlmIOeCueS6rjIzOgogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlsyXSA9IChkLCBkLCAwKQogICAgICAgIGQgPSByYW5kb20ucmFuZGludCg1LCAxMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9IChkLCBkLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCgrngrnkuq4wMSA9IEZhbHNlCueCueS6rjIzID0gRmFsc2UKdGltID0gbWFjaGluZS5UaW1lcigwKQp0aW0uaW5pdChwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQpwcmludChvbmJvYXJkX3NvdW5kLnJlYWQoKSkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4wMSA9IFRydWUKICAgIGlmIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gMTAwMDoKICAgICAgICDngrnkuq4yMyA9IFRydWUKICAgIGlmIOeCueS6rjAxIGFuZCDngrnkuq4yMzoKICAgICAgICB0cnk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJJUlRIREFZKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgcHJpbnQoZSkK= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-1 智能药盒-检测开启.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-1 智能药盒-检测开启.mix index 024b1536..baaadef7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-1 智能药盒-检测开启.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-1 智能药盒-检测开启.mix @@ -1 +1 @@ -开启药盒FALSEWHILETRUEANDGTl50GTr50开启药盒TRUETrue药盒开启0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrlvIDlkK/oja/nm5IgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiA1MCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiA1MDoKICAgICAgICDlvIDlkK/oja/nm5IgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iNr+ebkuW8gOWQrycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +开启药盒FALSEWHILETRUEANDGTl50GTr50开启药盒TRUETrue药盒开启0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrlvIDlkK/oja/nm5IgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiA1MCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiA1MDoKICAgICAgICDlvIDlkK/oja/nm5IgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iNr+ebkuW8gOWQrycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-2 智能药盒-检测关闭.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-2 智能药盒-检测关闭.mix index d29c56a2..c26817ab 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-2 智能药盒-检测关闭.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-1-2 智能药盒-检测关闭.mix @@ -1 +1 @@ -开启药盒FALSEWHILETRUEANDGTl50GTr50开启药盒TRUETrue药盒开启0TRUEtrueANDLTl50LTr50开启药盒FALSETrue药盒关闭0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrlvIDlkK/oja/nm5IgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiA1MCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiA1MDoKICAgICAgICDlvIDlkK/oja/nm5IgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iNr+ebkuW8gOWQrycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPCA1MCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCA1MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOW8gOWQr+iNr+ebkiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iNr+ebkuWFs+mXrScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +开启药盒FALSEWHILETRUEANDGTl50GTr50开启药盒TRUETrue药盒开启0TRUEtrueANDLTl50LTr50开启药盒FALSETrue药盒关闭0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgrlvIDlkK/oja/nm5IgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPiA1MCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPiA1MDoKICAgICAgICDlvIDlkK/oja/nm5IgPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iNr+ebkuW8gOWQrycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPCA1MCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCA1MCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOW8gOWQr+iNr+ebkiA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iNr+ebkuWFs+mXrScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-1 智能药盒-记录开启时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-1 智能药盒-记录开启时间.mix index 9a0ee852..1de5b625 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-1 智能药盒-记录开启时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-1 智能药盒-记录开启时间.mix @@ -1 +1 @@ -2025,5,31,19,30,27开启药盒FALSEWHILETRUEANDGTl50GTr50开启药盒TRUETrue药盒开启时间04020255,255,0#ffffffTRUETrueMixly012010255,255,0#ffffffTRUE{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSwxOSwzMCwyNykpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDUwIGFuZCBvbmJvYXJkX2Fsc19yLmFsc192aXMoKSA+IDUwOgogICAgICAgIOW8gOWQr+iNr+ebkiA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6I2v55uS5byA5ZCv5pe26Ze0JywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9MTIwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +2025,5,31,19,30,27开启药盒FALSEWHILETRUEANDGTl50GTr50开启药盒TRUETrue药盒开启时间04020255,255,0#ffffffTRUETrueMixly012010255,255,0#ffffffTRUE{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSwxOSwzMCwyNykpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDUwIGFuZCBvbmJvYXJkX2Fsc19yLmFsc192aXMoKSA+IDUwOgogICAgICAgIOW8gOWQr+iNr+ebkiA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6I2v55uS5byA5ZCv5pe26Ze0JywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9MTIwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-2 智能药盒-记录多次时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-2 智能药盒-记录多次时间.mix index 1ed63fa0..cd65682d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-2 智能药盒-记录多次时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-2-2 智能药盒-记录多次时间.mix @@ -1 +1 @@ -2025,5,31,19,30,27开启药盒FALSEmylistWHILETRUEANDGTl50GTr50开启药盒TRUEappendmylist0FALSE0,1,2,305LENmylist1iTrueMixlymylist0i00MULTIPLY1i2010255,255,0#ffffffFALSEtrueANDLTl30LTr30开启药盒FALSE{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYXRoCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSwxOSwzMCwyNykpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCm15bGlzdCA9IFtdCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDUwIGFuZCBvbmJvYXJkX2Fsc19yLmFsc192aXMoKSA+IDUwOgogICAgICAgIOW8gOWQr+iNr+ebkiA9IFRydWUKICAgICAgICBteWxpc3QuYXBwZW5kKHJ0Y3RpbWUuc3RydGltZSgpKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDIwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpIDwgMzAgYW5kIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpIDwgMzApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDlvIDlkK/oja/nm5IgPSBGYWxzZQo= \ No newline at end of file +2025,5,31,19,30,27开启药盒FALSEmylistWHILETRUEANDGTl50GTr50开启药盒TRUEappendmylist0FALSE0,1,2,305LENmylist1iTrueMixlymylist0i00MULTIPLY1i2010255,255,0#ffffffFALSEtrueANDLTl30LTr30开启药盒FALSE{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYXRoCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSwxOSwzMCwyNykpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCm15bGlzdCA9IFtdCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDUwIGFuZCBvbmJvYXJkX2Fsc19yLmFsc192aXMoKSA+IDUwOgogICAgICAgIOW8gOWQr+iNr+ebkiA9IFRydWUKICAgICAgICBteWxpc3QuYXBwZW5kKHJ0Y3RpbWUuc3RydGltZSgpKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDIwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpIDwgMzAgYW5kIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpIDwgMzApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDlvIDlkK/oja/nm5IgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-1 智能药盒-单次提醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-1 智能药盒-单次提醒.mix index 8d6f4c71..a52fb267 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-1 智能药盒-单次提醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-1 智能药盒-单次提醒.mix @@ -1 +1 @@ -2025,5,27,20,34,4每天吃药时间20,34,14WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ANDEQmytup闹铃时间0mytup3ANDEQmytup闹铃时间1mytup4EQmytup闹铃时间2mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK5q+P5aSp5ZCD6I2v5pe26Ze0ID0gKDIwLDM0LDE0KQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYg6Ze56ZOD5pe26Ze0WzBdID09IG15dHVwWzNdIGFuZCAo6Ze56ZOD5pe26Ze0WzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7RbMl0gPT0gbXl0dXBbNV0pOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKExpZ2h0bmluZywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +2025,5,27,20,34,4每天吃药时间20,34,14WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ANDEQmytup闹铃时间0mytup3ANDEQmytup闹铃时间1mytup4EQmytup闹铃时间2mytup5object_picture.LightningTRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBMaWdodG5pbmcKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwyNywyMCwzNCw0KSkK5q+P5aSp5ZCD6I2v5pe26Ze0ID0gKDIwLDM0LDE0KQp3aGlsZSBUcnVlOgogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBvbmJvYXJkX3RmdC5zaG93cygne306e306e30nLmZvcm1hdChzdHIobXl0dXBbM10pLCBzdHIobXl0dXBbNF0pLCBzdHIobXl0dXBbNV0pKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgaWYg6Ze56ZOD5pe26Ze0WzBdID09IG15dHVwWzNdIGFuZCAo6Ze56ZOD5pe26Ze0WzFdID09IG15dHVwWzRdIGFuZCDpl7npk4Pml7bpl7RbMl0gPT0gbXl0dXBbNV0pOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKExpZ2h0bmluZywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-2 智能药盒-多次提醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-2 智能药盒-多次提醒.mix index b30cd972..ed9b01ac 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-2 智能药盒-多次提醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-3-2 智能药盒-多次提醒.mix @@ -1 +1 @@ -2025,5,27,20,34,4每天吃药时间120,34,8每天吃药时间220,34,14WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ORANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5ANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5True该吃药了0TRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDI3LDIwLDM0LDQpKQrmr4/lpKnlkIPoja/ml7bpl7QxID0gKDIwLDM0LDgpCuavj+WkqeWQg+iNr+aXtumXtDIgPSAoMjAsMzQsMTQpCndoaWxlIFRydWU6CiAgICBteXR1cCA9IHRpbWUubG9jYWx0aW1lKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKSBvciAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+l5ZCD6I2v5LqGJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +2025,5,27,20,34,4每天吃药时间120,34,8每天吃药时间220,34,14WHILETRUEmytupTrueMixly{}:{}:{}xmytup3xmytup4xmytup50TRUEs1ORANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5ANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5True该吃药了0TRUEonboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDI3LDIwLDM0LDQpKQrmr4/lpKnlkIPoja/ml7bpl7QxID0gKDIwLDM0LDgpCuavj+WkqeWQg+iNr+aXtumXtDIgPSAoMjAsMzQsMTQpCndoaWxlIFRydWU6CiAgICBteXR1cCA9IHRpbWUubG9jYWx0aW1lKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCd7fTp7fTp7fScuZm9ybWF0KHN0cihteXR1cFszXSksIHN0cihteXR1cFs0XSksIHN0cihteXR1cFs1XSkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKSBvciAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+l5ZCD6I2v5LqGJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-1 智能药盒-吃药了不提醒单次.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-1 智能药盒-吃药了不提醒单次.mix index fbfdc6bd..1a6e20a4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-1 智能药盒-吃药了不提醒单次.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-1 智能药盒-吃药了不提醒单次.mix @@ -1 +1 @@ -2025,5,27,20,34,4开启药盒FALSE每天吃药时间120,34,8mylistWHILETRUEs1ANDGTl50GTr50开启药盒TRUEappendmylist0FALSE0,1,2,305LENmylist1iTrueMixlymylist0i00MULTIPLY1i2010255,255,0#ffffffFALSEtrueANDLTl30LTr30mytupANDANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5开启药盒True该吃药了0TRUEonboard_music.DADADADUM开启药盒FALSE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYXRoCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMjAsMzQsNCkpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCuavj+WkqeWQg+iNr+aXtumXtDEgPSAoMjAsMzQsOCkKbXlsaXN0ID0gW10Kd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gNTAgYW5kIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gNTA6CiAgICAgICAg5byA5ZCv6I2v55uSID0gVHJ1ZQogICAgICAgIG15bGlzdC5hcHBlbmQocnRjdGltZS5zdHJ0aW1lKCkpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogMjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPCAzMCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCAzMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBpZiAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKSBhbmQgbm90IOW8gOWQr+iNr+ebkjoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+l5ZCD6I2v5LqGJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKICAgICAgICDlvIDlkK/oja/nm5IgPSBGYWxzZQo= \ No newline at end of file +2025,5,27,20,34,4开启药盒FALSE每天吃药时间120,34,8mylistWHILETRUEs1ANDGTl50GTr50开启药盒TRUEappendmylist0FALSE0,1,2,305LENmylist1iTrueMixlymylist0i00MULTIPLY1i2010255,255,0#ffffffFALSEtrueANDLTl30LTr30mytupANDANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5开启药盒True该吃药了0TRUEonboard_music.DADADADUM开启药盒FALSE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYXRoCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMjAsMzQsNCkpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCuavj+WkqeWQg+iNr+aXtumXtDEgPSAoMjAsMzQsOCkKbXlsaXN0ID0gW10Kd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gNTAgYW5kIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gNTA6CiAgICAgICAg5byA5ZCv6I2v55uSID0gVHJ1ZQogICAgICAgIG15bGlzdC5hcHBlbmQocnRjdGltZS5zdHJ0aW1lKCkpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogMjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPCAzMCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCAzMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBpZiAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKSBhbmQgbm90IOW8gOWQr+iNr+ebkjoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+l5ZCD6I2v5LqGJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKICAgICAgICDlvIDlkK/oja/nm5IgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-2 智能药盒-吃药了不提醒多次.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-2 智能药盒-吃药了不提醒多次.mix index f69ec3bc..4029fcba 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-2 智能药盒-吃药了不提醒多次.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/2-4-2 智能药盒-吃药了不提醒多次.mix @@ -1 +1 @@ -2025,5,27,20,34,4开启药盒FALSE每天吃药时间120,34,8每天吃药时间220,34,14mylistWHILETRUEs1ANDGTl50GTr50开启药盒TRUEappendmylist0FALSE0,1,2,305LENmylist1iTrueMixlymylist0i00MULTIPLY1i2010255,255,0#ffffffFALSEtrueANDLTl30LTr30mytupANDANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5开启药盒True该吃药了0TRUEonboard_music.DADADADUM开启药盒FALSEANDANDEQmytup每天吃药时间20mytup3ANDEQmytup每天吃药时间21mytup4EQmytup每天吃药时间22mytup5开启药盒True该吃药了0TRUEonboard_music.DADADADUM开启药盒FALSE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYXRoCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMjAsMzQsNCkpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCuavj+WkqeWQg+iNr+aXtumXtDEgPSAoMjAsMzQsOCkK5q+P5aSp5ZCD6I2v5pe26Ze0MiA9ICgyMCwzNCwxNCkKbXlsaXN0ID0gW10Kd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gNTAgYW5kIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gNTA6CiAgICAgICAg5byA5ZCv6I2v55uSID0gVHJ1ZQogICAgICAgIG15bGlzdC5hcHBlbmQocnRjdGltZS5zdHJ0aW1lKCkpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogMjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPCAzMCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCAzMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBpZiAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKSBhbmQgbm90IOW8gOWQr+iNr+ebkjoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+l5ZCD6I2v5LqGJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKICAgICAgICDlvIDlkK/oja/nm5IgPSBGYWxzZQogICAgaWYgKOavj+WkqeWQg+iNr+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjmr4/lpKnlkIPoja/ml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDmr4/lpKnlkIPoja/ml7bpl7QyWzJdID09IG15dHVwWzVdKSkgYW5kIG5vdCDlvIDlkK/oja/nm5I6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+ivpeWQg+iNr+S6hicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCiAgICAgICAg5byA5ZCv6I2v55uSID0gRmFsc2UK \ No newline at end of file +2025,5,27,20,34,4开启药盒FALSE每天吃药时间120,34,8每天吃药时间220,34,14mylistWHILETRUEs1ANDGTl50GTr50开启药盒TRUEappendmylist0FALSE0,1,2,305LENmylist1iTrueMixlymylist0i00MULTIPLY1i2010255,255,0#ffffffFALSEtrueANDLTl30LTr30mytupANDANDEQmytup每天吃药时间10mytup3ANDEQmytup每天吃药时间11mytup4EQmytup每天吃药时间12mytup5开启药盒True该吃药了0TRUEonboard_music.DADADADUM开启药盒FALSEANDANDEQmytup每天吃药时间20mytup3ANDEQmytup每天吃药时间21mytup4EQmytup每天吃药时间22mytup5开启药盒True该吃药了0TRUEonboard_music.DADADADUM开启药盒FALSE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtYXRoCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMjcsMjAsMzQsNCkpCuW8gOWQr+iNr+ebkiA9IEZhbHNlCuavj+WkqeWQg+iNr+aXtumXtDEgPSAoMjAsMzQsOCkK5q+P5aSp5ZCD6I2v5pe26Ze0MiA9ICgyMCwzNCwxNCkKbXlsaXN0ID0gW10Kd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpID4gNTAgYW5kIG9uYm9hcmRfYWxzX3IuYWxzX3ZpcygpID4gNTA6CiAgICAgICAg5byA5ZCv6I2v55uSID0gVHJ1ZQogICAgICAgIG15bGlzdC5hcHBlbmQocnRjdGltZS5zdHJ0aW1lKCkpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogMjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkgPCAzMCBhbmQgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCAzMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgbXl0dXAgPSB0aW1lLmxvY2FsdGltZSgpCiAgICBpZiAo5q+P5aSp5ZCD6I2v5pe26Ze0MVswXSA9PSBteXR1cFszXSBhbmQgKOavj+WkqeWQg+iNr+aXtumXtDFbMV0gPT0gbXl0dXBbNF0gYW5kIOavj+WkqeWQg+iNr+aXtumXtDFbMl0gPT0gbXl0dXBbNV0pKSBhbmQgbm90IOW8gOWQr+iNr+ebkjoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+l5ZCD6I2v5LqGJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKICAgICAgICDlvIDlkK/oja/nm5IgPSBGYWxzZQogICAgaWYgKOavj+WkqeWQg+iNr+aXtumXtDJbMF0gPT0gbXl0dXBbM10gYW5kICjmr4/lpKnlkIPoja/ml7bpl7QyWzFdID09IG15dHVwWzRdIGFuZCDmr4/lpKnlkIPoja/ml7bpl7QyWzJdID09IG15dHVwWzVdKSkgYW5kIG5vdCDlvIDlkK/oja/nm5I6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+ivpeWQg+iNr+S6hicsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCiAgICAgICAg5byA5ZCv6I2v55uSID0gRmFsc2UK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-1 电梯模拟-梯外呼叫.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-1 电梯模拟-梯外呼叫.mix index 4db4e0c7..329dc45f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-1 电梯模拟-梯外呼叫.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-1 电梯模拟-梯外呼叫.mix @@ -1 +1 @@ -电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEs0.1ORB1keyB2key用户所在楼层int14GT用户所在楼层电梯当前楼层电梯状态显示上行LT用户所在楼层电梯当前楼层电梯状态显示下行电梯状态显示开门显示电梯状态TrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffTRUETrueMixly电梯楼层:Mixlyx电梯当前楼层010020255,255,0#ffffffTRUETrueMixly用户楼层:Mixlyx用户所在楼层020020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0yMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKd2hpbGUgVHJ1ZToKICAgIOaYvuekuueUteair+eKtuaAgSgpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkKICAgICAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPiDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIrooYwnCiAgICAgICAgZWxpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+W8gOmXqCcK \ No newline at end of file +电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEs0.1ORB1keyB2key用户所在楼层int14GT用户所在楼层电梯当前楼层电梯状态显示上行LT用户所在楼层电梯当前楼层电梯状态显示下行电梯状态显示开门显示电梯状态TrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffTRUETrueMixly电梯楼层:Mixlyx电梯当前楼层010020255,255,0#ffffffTRUETrueMixly用户楼层:Mixlyx用户所在楼层020020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0yMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKd2hpbGUgVHJ1ZToKICAgIOaYvuekuueUteair+eKtuaAgSgpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkKICAgICAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPiDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIrooYwnCiAgICAgICAgZWxpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+W8gOmXqCcK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-2 电梯模拟-呼叫运行.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-2 电梯模拟-呼叫运行.mix index 13b2732f..a86b213e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-2 电梯模拟-呼叫运行.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-1-2 电梯模拟-呼叫运行.mix @@ -1 +1 @@ -电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEORB1keyB2key电梯状态显示运行NEQ电梯状态显示静止GT用户所在楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1s1LT用户所在楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1s1电梯状态显示静止用户所在楼层int14显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层010020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层020020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/nirbmgIHvvJonICsg55S15qKv54q25oCB5pi+56S6LCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MjAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCndoaWxlIFRydWU6CiAgICDmmL7npLrnlLXmoq/nirbmgIEoKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6L+Q6KGMJwogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsaWYg55So5oi35omA5Zyo5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK \ No newline at end of file +电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEORB1keyB2key电梯状态显示运行NEQ电梯状态显示静止GT用户所在楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1s1LT用户所在楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1s1电梯状态显示静止用户所在楼层int14显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层010020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层020020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/nirbmgIHvvJonICsg55S15qKv54q25oCB5pi+56S6LCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MjAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCndoaWxlIFRydWU6CiAgICDmmL7npLrnlLXmoq/nirbmgIEoKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6L+Q6KGMJwogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsaWYg55So5oi35omA5Zyo5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-1 电梯模拟-开关梯门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-1 电梯模拟-开关梯门.mix index 8386af4e..813a21ea 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-1 电梯模拟-开关梯门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-1 电梯模拟-开关梯门.mix @@ -1 +1 @@ -电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEORB1keyB2key电梯状态显示运行NEQ电梯状态显示静止GT用户所在楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1s1LT用户所在楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1s1电梯状态显示静止用户所在楼层int14显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIOaYvuekuueUteair+eKtuaAgSgpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT02MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKZGVmIOW8gOWFs+mXqCgpOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKCgrnlLXmoq/lvZPliY3mpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQrnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQrnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+i/kOihjCcKICAgIGlmIOeUteair+eKtuaAgeaYvuekuiAhPSAn6Z2Z5q2iJzoKICAgICAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPiDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIrooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiArPSAxCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbGlmIOeUqOaIt+aJgOWcqOalvOWxgiA8IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4i+ihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCIC09IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCiAgICAgICAgICAgIOW8gOWFs+mXqCgpCiAgICAgICAgICAgIOeUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCg== \ No newline at end of file +电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEORB1keyB2key电梯状态显示运行NEQ电梯状态显示静止GT用户所在楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1s1LT用户所在楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1s1电梯状态显示静止用户所在楼层int14显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKZGVmIOaYvuekuueUteair+eKtuaAgSgpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT02MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKZGVmIOW8gOWFs+mXqCgpOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKCgrnlLXmoq/lvZPliY3mpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQrnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQrnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBvciBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+i/kOihjCcKICAgIGlmIOeUteair+eKtuaAgeaYvuekuiAhPSAn6Z2Z5q2iJzoKICAgICAgICBpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPiDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIrooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiArPSAxCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbGlmIOeUqOaIt+aJgOWcqOalvOWxgiA8IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4i+ihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCIC09IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCiAgICAgICAgICAgIOW8gOWFs+mXqCgpCiAgICAgICAgICAgIOeUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-2 电梯模拟-防夹关梯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-2 电梯模拟-防夹关梯.mix index 3623ef15..b5c2e8d2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-2 电梯模拟-防夹关梯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-2-2 电梯模拟-防夹关梯.mix @@ -1 +1 @@ -电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEORB1keyB2key电梯状态显示运行NEQ电梯状态显示静止GT用户所在楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1s1LT用户所在楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1s1电梯状态显示静止用户所在楼层int14显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/nirbmgIHvvJonICsg55S15qKv54q25oCB5pi+56S6LCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTYwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0xMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5wc19ubCgpIDwgMTAwIGFuZCBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPCAxMDApOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCndoaWxlIFRydWU6CiAgICDmmL7npLrnlLXmoq/nirbmgIEoKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6L+Q6KGMJwogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsaWYg55So5oi35omA5Zyo5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg5byA5YWz6ZeoKCkKICAgICAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK \ No newline at end of file +电梯当前楼层int14用户所在楼层int14电梯状态显示静止WHILETRUEORB1keyB2key电梯状态显示运行NEQ电梯状态显示静止GT用户所在楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1s1LT用户所在楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1s1电梯状态显示静止用户所在楼层int14显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/nirbmgIHvvJonICsg55S15qKv54q25oCB5pi+56S6LCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTYwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0xMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5wc19ubCgpIDwgMTAwIGFuZCBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPCAxMDApOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCndoaWxlIFRydWU6CiAgICDmmL7npLrnlLXmoq/nirbmgIEoKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6L+Q6KGMJwogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsaWYg55So5oi35omA5Zyo5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg5byA5YWz6ZeoKCkKICAgICAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-1 电梯模拟-选择楼层.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-1 电梯模拟-选择楼层.mix index d831cdce..64ea046f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-1 电梯模拟-选择楼层.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-1 电梯模拟-选择楼层.mix @@ -1 +1 @@ -电梯当前楼层int14用户所在楼层int14用户目标楼层0电梯状态显示静止WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE用户目标楼层0000MINUS1用户目标楼层10300{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOaYvuekuueUteair+eKtuaAgSgpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT02MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYg55So5oi355uu5qCH5qW85bGCOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiWyjnlKjmiLfnm67moIfmpbzlsYIgLSAxKV0gPSAoMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+ebruagh+alvOWxgiA9IDAK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKd2hpbGUgVHJ1ZToKICAgIOaYvuekuueUteair+eKtuaAgSgpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAo= \ No newline at end of file +电梯当前楼层int14用户所在楼层int14用户目标楼层0电梯状态显示静止WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly用户楼层:Mixlyx用户所在楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE用户目标楼层0000MINUS1用户目标楼层10300{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOaYvuekuueUteair+eKtuaAgSgpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT02MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55So5oi35qW85bGC77yaJyArIHN0cijnlKjmiLfmiYDlnKjmpbzlsYIpLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYg55So5oi355uu5qCH5qW85bGCOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiWyjnlKjmiLfnm67moIfmpbzlsYIgLSAxKV0gPSAoMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+ebruagh+alvOWxgiA9IDAK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKd2hpbGUgVHJ1ZToKICAgIOaYvuekuueUteair+eKtuaAgSgpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-2 电梯模拟-选择运行.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-2 电梯模拟-选择运行.mix index 0791b3cd..db172866 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-2 电梯模拟-选择运行.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-3-2 电梯模拟-选择运行.mix @@ -1 +1 @@ -电梯当前楼层int14用户目标楼层0电梯状态显示静止WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4NEQ用户目标楼层0GT用户目标楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1LT用户目标楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1电梯状态显示静止用户目标楼层0s1显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly目标楼层:Mixlyx用户目标楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE用户目标楼层0000MINUS1用户目标楼层10300{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOaYvuekuueUteair+eKtuaAgSgpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT02MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55uu5qCH5qW85bGC77yaJyArIHN0cijnlKjmiLfnm67moIfmpbzlsYIpLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYg55So5oi355uu5qCH5qW85bGCOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiWyjnlKjmiLfnm67moIfmpbzlsYIgLSAxKV0gPSAoMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+ebruagh+alvOWxgiA9IDAK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKd2hpbGUgVHJ1ZToKICAgIOaYvuekuueUteair+eKtuaAgSgpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgaWYg55So5oi355uu5qCH5qW85bGCICE9IDA6CiAgICAgICAgaWYg55So5oi355uu5qCH5qW85bGCID4g55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiK6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQogICAgICAgIGVsaWYg55So5oi355uu5qCH5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDAKICAgICAgICB0aW1lLnNsZWVwKDEpCg==TRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKCmRlZiDmmL7npLrnlLXmoq/nirbmgIEoKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+eKtuaAge+8micgKyDnlLXmoq/nirbmgIHmmL7npLosIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5qW85bGC77yaJyArIHN0cijnlLXmoq/lvZPliY3mpbzlsYIpLCB4PTAsIHk9NjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUqOaIt+alvOWxgu+8micgKyBzdHIo55So5oi35omA5Zyo5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYlso55So5oi355uu5qCH5qW85bGCIC0gMSldID0gKDAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLnBzX25sKCkgPCAxMDAgYW5kIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEwMCk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi355uu5qCH5qW85bGCID0gMArnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMgogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDMKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlLXmoq/nirbmgIHmmL7npLogIT0gJ+mdmeatoic6CiAgICAgICAgaWYg55So5oi35omA5Zyo5qW85bGCID4g55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiK6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiAtPSAxCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwogICAgICAgICAgICDlvIDlhbPpl6goKQogICAgICAgICAgICDnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAwCg== \ No newline at end of file +电梯当前楼层int14用户目标楼层0电梯状态显示静止WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4NEQ用户目标楼层0GT用户目标楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1LT用户目标楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1电梯状态显示静止用户目标楼层0s1显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly目标楼层:Mixlyx用户目标楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE用户目标楼层0000MINUS1用户目标楼层10300{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOaYvuekuueUteair+eKtuaAgSgpOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv54q25oCB77yaJyArIOeUteair+eKtuaAgeaYvuekuiwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/mpbzlsYLvvJonICsgc3RyKOeUteair+W9k+WJjealvOWxgiksIHg9MCwgeT02MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55uu5qCH5qW85bGC77yaJyArIHN0cijnlKjmiLfnm67moIfmpbzlsYIpLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYg55So5oi355uu5qCH5qW85bGCOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiWyjnlKjmiLfnm67moIfmpbzlsYIgLSAxKV0gPSAoMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+ebruagh+alvOWxgiA9IDAK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKd2hpbGUgVHJ1ZToKICAgIOaYvuekuueUteair+eKtuaAgSgpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDIKICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gNAogICAgaWYg55So5oi355uu5qCH5qW85bGCICE9IDA6CiAgICAgICAgaWYg55So5oi355uu5qCH5qW85bGCID4g55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiK6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQogICAgICAgIGVsaWYg55So5oi355uu5qCH5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCiAgICAgICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDAKICAgICAgICB0aW1lLnNsZWVwKDEpCg==TRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKCmRlZiDmmL7npLrnlLXmoq/nirbmgIEoKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+eKtuaAge+8micgKyDnlLXmoq/nirbmgIHmmL7npLosIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5qW85bGC77yaJyArIHN0cijnlLXmoq/lvZPliY3mpbzlsYIpLCB4PTAsIHk9NjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUqOaIt+alvOWxgu+8micgKyBzdHIo55So5oi35omA5Zyo5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYlso55So5oi355uu5qCH5qW85bGCIC0gMSldID0gKDAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLnBzX25sKCkgPCAxMDAgYW5kIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEwMCk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi355uu5qCH5qW85bGCID0gMArnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMgogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDMKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlLXmoq/nirbmgIHmmL7npLogIT0gJ+mdmeatoic6CiAgICAgICAgaWYg55So5oi35omA5Zyo5qW85bGCID4g55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiK6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiAtPSAxCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwogICAgICAgICAgICDlvIDlhbPpl6goKQogICAgICAgICAgICDnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-1 电梯模拟-梯内开关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-1 电梯模拟-梯内开关门.mix index a5333f3f..92551a81 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-1 电梯模拟-梯内开关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-1 电梯模拟-梯内开关门.mix @@ -1 +1 @@ -电梯当前楼层int14用户目标楼层0电梯状态显示静止WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4NEQ用户目标楼层0GT用户目标楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1LT用户目标楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1电梯状态显示静止用户目标楼层0s1显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly目标楼层:Mixlyx用户目标楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE用户目标楼层0000MINUS1用户目标楼层10300开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKCmRlZiDmmL7npLrnlLXmoq/nirbmgIEoKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+eKtuaAge+8micgKyDnlLXmoq/nirbmgIHmmL7npLosIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5qW85bGC77yaJyArIHN0cijnlLXmoq/lvZPliY3mpbzlsYIpLCB4PTAsIHk9NjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+ebruagh+alvOWxgu+8micgKyBzdHIo55So5oi355uu5qCH5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYlso55So5oi355uu5qCH5qW85bGCIC0gMSldID0gKDAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLnBzX25sKCkgPCAxMDAgYW5kIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEwMCk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi355uu5qCH5qW85bGCID0gMArnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMgogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDMKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgIT0gMDoKICAgICAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgPiDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIrooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiArPSAxCiAgICAgICAgZWxpZiDnlKjmiLfnm67moIfmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiAtPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg5byA5YWz6ZeoKCkKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMAogICAgICAgIHRpbWUuc2xlZXAoMSkKKQogICAgdGltZS5zbGVlcCgwLjMpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi355uu5qCH5qW85bGCID0gMArnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMgogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDMKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlLXmoq/nirbmgIHmmL7npLogIT0gJ+mdmeatoic6CiAgICAgICAgaWYg55So5oi35omA5Zyo5qW85bGCID4g55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiK6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiAtPSAxCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwogICAgICAgICAgICDlvIDlhbPpl6goKQogICAgICAgICAgICDnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAwCg== \ No newline at end of file +电梯当前楼层int14用户目标楼层0电梯状态显示静止WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4NEQ用户目标楼层0GT用户目标楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1LT用户目标楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1电梯状态显示静止用户目标楼层0s1显示电梯状态FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly目标楼层:Mixlyx用户目标楼层010020255,255,0#ffffffFALSEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE用户目标楼层0000MINUS1用户目标楼层10300开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU5JTkcKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKCmRlZiDmmL7npLrnlLXmoq/nirbmgIEoKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+eKtuaAge+8micgKyDnlLXmoq/nirbmgIHmmL7npLosIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5qW85bGC77yaJyArIHN0cijnlLXmoq/lvZPliY3mpbzlsYIpLCB4PTAsIHk9NjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+ebruagh+alvOWxgu+8micgKyBzdHIo55So5oi355uu5qCH5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOeUqOaIt+ebruagh+alvOWxgjoKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYlso55So5oi355uu5qCH5qW85bGCIC0gMSldID0gKDAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChvbmJvYXJkX2Fsc19sLnBzX25sKCkgPCAxMDAgYW5kIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDEwMCk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi355uu5qCH5qW85bGCID0gMArnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMgogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDMKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgIT0gMDoKICAgICAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgPiDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIrooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiArPSAxCiAgICAgICAgZWxpZiDnlKjmiLfnm67moIfmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiAtPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg5byA5YWz6ZeoKCkKICAgICAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMAogICAgICAgIHRpbWUuc2xlZXAoMSkKKQogICAgdGltZS5zbGVlcCgwLjMpCgoK55S15qKv5b2T5YmN5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK55So5oi355uu5qCH5qW85bGCID0gMArnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg55So5oi355uu5qCH5qW85bGCID0gMgogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOeUqOaIt+ebruagh+alvOWxgiA9IDMKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlLXmoq/nirbmgIHmmL7npLogIT0gJ+mdmeatoic6CiAgICAgICAgaWYg55So5oi35omA5Zyo5qW85bGCID4g55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiK6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgKz0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxpZiDnlKjmiLfmiYDlnKjmpbzlsYIgPCDnlLXmoq/lvZPliY3mpbzlsYI6CiAgICAgICAgICAgIOeUteair+eKtuaAgeaYvuekuiA9ICfkuIvooYwnCiAgICAgICAgICAgIOeUteair+W9k+WJjealvOWxgiAtPSAxCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwogICAgICAgICAgICDlvIDlhbPpl6goKQogICAgICAgICAgICDnlKjmiLfmiYDlnKjmpbzlsYIgPSByYW5kb20ucmFuZGludCgxLCA0KQogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-2 电梯模拟-梯内手动关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-2 电梯模拟-梯内手动关门.mix index e37fc42a..7aca0c1d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-2 电梯模拟-梯内手动关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/3-4-2 电梯模拟-梯内手动关门.mix @@ -1 +1 @@ -电梯当前楼层int14用户目标楼层0电梯状态显示静止最近选择时间0WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4ANDNEQ用户目标楼层0ORB1keyGTMINUS1ms1最近选择时间10000MixlyMINUS1ms1最近选择时间电梯状态显示运行NEQ电梯状态显示静止GT用户目标楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1LT用户目标楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1电梯状态显示静止用户目标楼层0s1关门trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3显示电梯状态最近选择时间FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly目标楼层:Mixlyx用户目标楼层010020255,255,0#ffffffFALSEEQ电梯状态显示静止object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUEGT用户目标楼层0最近选择时间ms0000MINUS1用户目标楼层10300{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiDlhbPpl6goKToKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwMCBhbmQgb25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTAwKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKZGVmIOW8gOWFs+mXqCgpOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwMCBhbmQgb25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTAwKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKCmRlZiDmmL7npLrnlLXmoq/nirbmgIEoKToKICAgIGdsb2JhbCDmnIDov5HpgInmi6nml7bpl7QKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+eKtuaAge+8micgKyDnlLXmoq/nirbmgIHmmL7npLosIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5qW85bGC77yaJyArIHN0cijnlLXmoq/lvZPliY3mpbzlsYIpLCB4PTAsIHk9NjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+ebruagh+alvOWxgu+8micgKyBzdHIo55So5oi355uu5qCH5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBpZiDnlLXmoq/nirbmgIHmmL7npLogPT0gJ+mdmeatoic6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgPiAwOgogICAgICAgIOacgOi/kemAieaLqeaXtumXtCA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiWyjnlKjmiLfnm67moIfmpbzlsYIgLSAxKV0gPSAoMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+ebruagh+alvOWxgiA9IDAK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicK5pyA6L+R6YCJ5oup5pe26Ze0ID0gMAp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAyCiAgICBlbGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICBlbGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgIT0gMCBhbmQgKG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBvciB0aW1lLnRpY2tzX21zKCkgLSDmnIDov5HpgInmi6nml7bpl7QgPiAxMDAwMCk6CiAgICAgICAgcHJpbnQoKHRpbWUudGlja3NfbXMoKSAtIOacgOi/kemAieaLqeaXtumXtCkpCiAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+i/kOihjCcKICAgICAgICDlhbPpl6goKQogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+ebruagh+alvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICBlbGlmIOeUqOaIt+ebruagh+alvOWxgiA8IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4i+ihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCIC09IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwogICAgICAgICAgICDlvIDlhbPpl6goKQogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAwCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +电梯当前楼层int14用户目标楼层0电梯状态显示静止最近选择时间0WHILETRUEA1key用户目标楼层1A2key用户目标楼层2A3key用户目标楼层3A4key用户目标楼层4ANDNEQ用户目标楼层0ORB1keyGTMINUS1ms1最近选择时间10000MixlyMINUS1ms1最近选择时间电梯状态显示运行NEQ电梯状态显示静止GT用户目标楼层电梯当前楼层电梯状态显示上行ADD电梯当前楼层1LT用户目标楼层电梯当前楼层电梯状态显示下行MINUS电梯当前楼层1电梯状态显示静止用户目标楼层0s1关门trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUE开关门object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEs1trueANDLTl100LTr100object_picture.DOOR_OPENING1001601255,255,0#ffffffTRUEs0.3显示电梯状态最近选择时间FALSETrueMixly电梯状态:Mixly电梯状态显示02020255,255,0#ffffffFALSETrueMixly电梯楼层:Mixlyx电梯当前楼层06020255,255,0#ffffffFALSETrueMixly目标楼层:Mixlyx用户目标楼层010020255,255,0#ffffffFALSEEQ电梯状态显示静止object_picture.DOOR_OPEN1001601255,255,0#ffffffTRUEobject_picture.DOOR_CLOSE1001601255,255,0#ffffffTRUEGT用户目标楼层0最近选择时间ms0000MINUS1用户目标楼层10300{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9yZ2IKCmRlZiDlhbPpl6goKToKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwMCBhbmQgb25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTAwKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKZGVmIOW8gOWFs+mXqCgpOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG9uYm9hcmRfYWxzX2wucHNfbmwoKSA8IDEwMCBhbmQgb25ib2FyZF9hbHNfci5wc19ubCgpIDwgMTAwKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMykKCmRlZiDmmL7npLrnlLXmoq/nirbmgIEoKToKICAgIGdsb2JhbCDmnIDov5HpgInmi6nml7bpl7QKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+eKtuaAge+8micgKyDnlLXmoq/nirbmgIHmmL7npLosIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55S15qKv5qW85bGC77yaJyArIHN0cijnlLXmoq/lvZPliY3mpbzlsYIpLCB4PTAsIHk9NjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+ebruagh+alvOWxgu+8micgKyBzdHIo55So5oi355uu5qCH5qW85bGCKSwgeD0wLCB5PTEwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBpZiDnlLXmoq/nirbmgIHmmL7npLogPT0gJ+mdmeatoic6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgPiAwOgogICAgICAgIOacgOi/kemAieaLqeaXtumXtCA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIG9uYm9hcmRfcmdiWyjnlKjmiLfnm67moIfmpbzlsYIgLSAxKV0gPSAoMCwgMzAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+ebruagh+alvOWxgiA9IDAK55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicK5pyA6L+R6YCJ5oup5pe26Ze0ID0gMAp3aGlsZSBUcnVlOgogICAg5pi+56S655S15qKv54q25oCBKCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAxCiAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAyCiAgICBlbGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAzCiAgICBlbGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSA0CiAgICBpZiDnlKjmiLfnm67moIfmpbzlsYIgIT0gMCBhbmQgKG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBvciB0aW1lLnRpY2tzX21zKCkgLSDmnIDov5HpgInmi6nml7bpl7QgPiAxMDAwMCk6CiAgICAgICAgcHJpbnQoKHRpbWUudGlja3NfbXMoKSAtIOacgOi/kemAieaLqeaXtumXtCkpCiAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+i/kOihjCcKICAgICAgICDlhbPpl6goKQogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+ebruagh+alvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICBlbGlmIOeUqOaIt+ebruagh+alvOWxgiA8IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4i+ihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCIC09IDEKICAgICAgICBlbHNlOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6Z2Z5q2iJwogICAgICAgICAgICDlvIDlhbPpl6goKQogICAgICAgICAgICDnlKjmiLfnm67moIfmpbzlsYIgPSAwCiAgICAgICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-1 飞机大战-显示飞机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-1 飞机大战-显示飞机.mix index 7b893635..da05d61e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-1 飞机大战-显示飞机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-1 飞机大战-显示飞机.mix @@ -1 +1 @@ -显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE屏幕X最大值23本机X坐标0WHILETRUE0,1,2,30241本机X坐标s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDApLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMjAsIDI0MCwgMjAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgo5pys5py6WOWdkOaghyAtIDEpICogMTApLCAyMzAsIDMwLCAxMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOacrOaculjlnZDmoIcgKiAxMCksIDIyMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAgZm9yIOacrOaculjlnZDmoIcgaW4gcmFuZ2UoMCwgMjQsIDEpOgogICAgICAgIOaYvuekuuaIkeacuigpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg==hmetic" id="*zswzd:AW8!N$GZ`B7@l">MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGZvciBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKDEsIDE1LCAxKToKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE屏幕X最大值23本机X坐标0WHILETRUE0,1,2,30241本机X坐标s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDApLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMjAsIDI0MCwgMjAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgo5pys5py6WOWdkOaghyAtIDEpICogMTApLCAyMzAsIDMwLCAxMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOacrOaculjlnZDmoIcgKiAxMCksIDIyMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAgZm9yIOacrOaculjlnZDmoIcgaW4gcmFuZ2UoMCwgMjQsIDEpOgogICAgICAgIOaYvuekuuaIkeacuigpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg==hmetic" id="*zswzd:AW8!N$GZ`B7@l">MINUS1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGZvciBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IGluIHJhbmdlKDEsIDE1LCAxKToKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-2 飞机大战-移动飞机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-2 飞机大战-移动飞机.mix index 0c25f21e..3f3fd74b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-2 飞机大战-移动飞机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-1-2 飞机大战-移动飞机.mix @@ -1 +1 @@ -屏幕X最大值23本机X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDApLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMjAsIDI0MCwgMjAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgo5pys5py6WOWdkOaghyAtIDEpICogMTApLCAyMzAsIDMwLCAxMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOacrOaculjlnZDmoIcgKiAxMCksIDIyMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgLT0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyArPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkK07DC{LlWb">1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file +屏幕X最大值23本机X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDApLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMjAsIDI0MCwgMjAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgo5pys5py6WOWdkOaghyAtIDEpICogMTApLCAyMzAsIDMwLCAxMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOacrOaculjlnZDmoIcgKiAxMCksIDIyMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgLT0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyArPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkK07DC{LlWb">1本机X坐标14屏幕Y最大值ON0ADD1本机X坐标14屏幕Y最大值ON0本机X坐标3MINUS1屏幕Y最大值1ON{}aW1wb3J0IG1peGdvX21pbmkKZnJvbSBtaXhnb19taW5pIGltcG9ydCBvbmJvYXJkX21hdHJpeAoKZGVmIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpOgogICAgZ2xvYmFsIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcKICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSBtaW4obWF4KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcsIDEpLCBfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSkKICAgIGZvciB4IGluIHJhbmdlKF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAyLCBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMywgMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KHgpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-1 飞机大战-发射子弹.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-1 飞机大战-发射子弹.mix index 3d973b28..ccb86a3f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-1 飞机大战-发射子弹.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-1 飞机大战-发射子弹.mix @@ -1 +1 @@ -显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标0,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgZm9yIOWtkOW8uVnlnZDmoIcgaW4gcmFuZ2Uo5bGP5bmVWeacgOWkp+WAvCAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHgwLHN5bmM9RmFsc2UpCgoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5pWM5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkK \ No newline at end of file +显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标0,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgZm9yIOWtkOW8uVnlnZDmoIcgaW4gcmFuZ2Uo5bGP5bmVWeacgOWkp+WAvCAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHgwLHN5bmM9RmFsc2UpCgoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5pWM5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-2 飞机大战-加入音效.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-2 飞机大战-加入音效.mix index 22c4acf8..64a84e2e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-2 飞机大战-加入音效.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-2 飞机大战-加入音效.mix @@ -1 +1 @@ -显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450屏幕X最大值23屏幕Y最大值23本机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE显示我机2{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCmRlZiDmmL7npLrmiJHmnLoyKCk6CgoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file +显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450屏幕X最大值23屏幕Y最大值23本机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE显示我机2{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCmRlZiDmmL7npLrmiJHmnLoyKCk6CgoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyAtIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ICsgMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3IgX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyBpbiByYW5nZShfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMSkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICB0aW1lLnNsZWVwX21zKDUwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQoKCgpfRTVfQjFfOEZfRTVfQjlfOTVYX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gMTEKX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDcKX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U2Xzk1XzhDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyA9IDEKX0U1X0JFXzk3X0U1Xzg4Xzg2ID0gMApfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-1 飞机大战-显示敌机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-1 飞机大战-显示敌机.mix index a2e336f0..28b8005c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-1 飞机大战-显示敌机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-1 飞机大战-显示敌机.mix @@ -1 +1 @@ -显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHJhbmRvbQoKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOaYvuekuuaVjOacuigpOgogICAgZ2xvYmFsIOaVjOaculjlnZDmoIcKICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCDlsY/luZVY5pyA5aSn5YC8LCAxKToKICAgICAgICBpZiBvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKiAxMCkpLCBpbnQoMCkpID09IDB4ZmZmZjoKICAgICAgICAgICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gVHJ1ZQogICAgICAgICAgICBicmVhawogICAgaWYgbm90IOaVjOacuuaYr+WQpuWtmOWcqDoKICAgICAgICDmlYzmnLpY5Z2Q5qCHID0gcmFuZG9tLnJhbmRpbnQoMCwg5bGP5bmVWOacgOWkp+WAvCkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOaVjOaculjlnZDmoIcgKiAxMCksIDAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgoK5bGP5bmVWOacgOWkp+WAvCA9IDIzCuWxj+W5lVnmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmlYzmnLpY5Z2Q5qCHID0gMArlrZDlvLlY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAg5pi+56S65pWM5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file +显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHJhbmRvbQoKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOaYvuekuuaVjOacuigpOgogICAgZ2xvYmFsIOaVjOaculjlnZDmoIcKICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCDlsY/luZVY5pyA5aSn5YC8LCAxKToKICAgICAgICBpZiBvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKiAxMCkpLCBpbnQoMCkpID09IDB4ZmZmZjoKICAgICAgICAgICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gVHJ1ZQogICAgICAgICAgICBicmVhawogICAgaWYgbm90IOaVjOacuuaYr+WQpuWtmOWcqDoKICAgICAgICDmlYzmnLpY5Z2Q5qCHID0gcmFuZG9tLnJhbmRpbnQoMCwg5bGP5bmVWOacgOWkp+WAvCkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOaVjOaculjlnZDmoIcgKiAxMCksIDAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgoK5bGP5bmVWOacgOWkp+WAvCA9IDIzCuWxj+W5lVnmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmlYzmnLpY5Z2Q5qCHID0gMArlrZDlvLlY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAg5pi+56S65pWM5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDApCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLSAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArIDEpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3KSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgLSAxKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgoKCl9FNV9CMV84Rl9FNV9COV85NVhfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSAxMQpfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDID0gNwpfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTZfOTVfOENfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gMQpfRTVfQkVfOTdfRTVfODhfODYgPSAwCl9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCndoaWxlIFRydWU6CiAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfOTVfOENfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgLT0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyArPSAxCiAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-2 飞机大战-消灭敌机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-2 飞机大战-消灭敌机.mix index 1debbfde..a82d5346 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-2 飞机大战-消灭敌机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-3-2 飞机大战-消灭敌机.mix @@ -1 +1 @@ -屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2keyEQ敌机X坐标本机X坐标988100显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHJhbmRvbQoKCmRlZiDmmL7npLrmlYzmnLooKToKICAgIGdsb2JhbCDmlYzmnLpY5Z2Q5qCHCiAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBGYWxzZQogICAgZm9yIHggaW4gcmFuZ2UoMCwg5bGP5bmVWOacgOWkp+WAvCwgMSk6CiAgICAgICAgaWYgb25ib2FyZF90ZnQucGl4ZWwoaW50KCh4ICogMTApKSwgaW50KDApKSA9PSAweGZmZmY6CiAgICAgICAgICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCDmlYzmnLrmmK/lkKblrZjlnKg6CiAgICAgICAg5pWM5py6WOWdkOaghyA9IHJhbmRvbS5yYW5kaW50KDAsIOWxj+W5lVjmnIDlpKflgLwpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMTApLCAwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCgoK5bGP5bmVWOacgOWkp+WAvCA9IDIzCuWxj+W5lVnmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmlYzmnLpY5Z2Q5qCHID0gMArlrZDlvLlY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAg5pi+56S65pWM5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKICAgICAgICBpZiDmlYzmnLpY5Z2Q5qCHID09IOacrOaculjlnZDmoIc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICDmmL7npLrmiJHmnLooKQo=ICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOaVjOaculjlnZDmoIcgKiAxMCksIDAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOW+l+WIhgogICAgaWYg5pWM5py6WOWdkOaghyA9PSDmnKzmnLpY5Z2Q5qCHOgogICAgICAgIOW+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAg5pi+56S65oiR5py6KCkKCgrlsY/luZVY5pyA5aSn5YC8ID0gMjMK5bGP5bmVWeacgOWkp+WAvCA9IDIzCuacrOaculjlnZDmoIcgPSAwCuaVjOaculjlnZDmoIcgPSAwCuWtkOW8uVjlnZDmoIcgPSAwCuW+l+WIhiA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIOaYvuekuuaVjOacuigpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPkeWwhOWtkOW8uSgpCiAgICAgICAg6K6h566X5b6X5YiGKCkK \ No newline at end of file +屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2keyEQ敌机X坐标本机X坐标988100显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHJhbmRvbQoKCmRlZiDmmL7npLrmlYzmnLooKToKICAgIGdsb2JhbCDmlYzmnLpY5Z2Q5qCHCiAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBGYWxzZQogICAgZm9yIHggaW4gcmFuZ2UoMCwg5bGP5bmVWOacgOWkp+WAvCwgMSk6CiAgICAgICAgaWYgb25ib2FyZF90ZnQucGl4ZWwoaW50KCh4ICogMTApKSwgaW50KDApKSA9PSAweGZmZmY6CiAgICAgICAgICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCDmlYzmnLrmmK/lkKblrZjlnKg6CiAgICAgICAg5pWM5py6WOWdkOaghyA9IHJhbmRvbS5yYW5kaW50KDAsIOWxj+W5lVjmnIDlpKflgLwpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMTApLCAwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCgoK5bGP5bmVWOacgOWkp+WAvCA9IDIzCuWxj+W5lVnmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmlYzmnLpY5Z2Q5qCHID0gMArlrZDlvLlY5Z2Q5qCHID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAg5pi+56S65pWM5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKICAgICAgICBpZiDmlYzmnLpY5Z2Q5qCHID09IOacrOaculjlnZDmoIc6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICDmmL7npLrmiJHmnLooKQo=ICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOaVjOaculjlnZDmoIcgKiAxMCksIDAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOW+l+WIhgogICAgaWYg5pWM5py6WOWdkOaghyA9PSDmnKzmnLpY5Z2Q5qCHOgogICAgICAgIOW+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAg5pi+56S65oiR5py6KCkKCgrlsY/luZVY5pyA5aSn5YC8ID0gMjMK5bGP5bmVWeacgOWkp+WAvCA9IDIzCuacrOaculjlnZDmoIcgPSAwCuaVjOaculjlnZDmoIcgPSAwCuWtkOW8uVjlnZDmoIcgPSAwCuW+l+WIhiA9IDAK5pi+56S65oiR5py6KCkKd2hpbGUgVHJ1ZToKICAgIOaYvuekuuaVjOacuigpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPkeWwhOWtkOW8uSgpCiAgICAgICAg6K6h566X5b6X5YiGKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-1 飞机大战-显示得分.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-1 飞机大战-显示得分.mix index c041f806..601654e6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-1 飞机大战-显示得分.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-1 飞机大战-显示得分.mix @@ -1 +1 @@ -屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixly得分0TRUE988100TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmRlZiDmmL7npLrmlYzmnLooKToKICAgIGdsb2JhbCDmlYzmnLpY5Z2Q5qCHCiAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBGYWxzZQogICAgZm9yIHggaW4gcmFuZ2UoMCwg5bGP5bmVWOacgOWkp+WAvCwgMSk6CiAgICAgICAgaWYgb25ib2FyZF90ZnQucGl4ZWwoaW50KCh4ICogMTApKSwgaW50KDApKSA9PSAweGZmZmY6CiAgICAgICAgICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCDmlYzmnLrmmK/lkKblrZjlnKg6CiAgICAgICAg5pWM5py6WOWdkOaghyA9IHJhbmRvbS5yYW5kaW50KDAsIOWxj+W5lVjmnIDlpKflgLwpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMTApLCAwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCmRlZiDorqHnrpflvpfliIYoKToKICAgIGdsb2JhbCDlvpfliIYKICAgIGlmIOaVjOaculjlnZDmoIcgPT0g5pys5py6WOWdkOaghzoKICAgICAgICDlvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOW+l+WIhiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgIOaYvuekuuaIkeacuigpCgoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5pWM5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5b6X5YiGID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAg5pi+56S65pWM5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKICAgICAgICDorqHnrpflvpfliIYoKQo= \ No newline at end of file +屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0得分0WHILETRUEA1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixly得分0TRUE988100TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmRlZiDmmL7npLrmlYzmnLooKToKICAgIGdsb2JhbCDmlYzmnLpY5Z2Q5qCHCiAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBGYWxzZQogICAgZm9yIHggaW4gcmFuZ2UoMCwg5bGP5bmVWOacgOWkp+WAvCwgMSk6CiAgICAgICAgaWYgb25ib2FyZF90ZnQucGl4ZWwoaW50KCh4ICogMTApKSwgaW50KDApKSA9PSAweGZmZmY6CiAgICAgICAgICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCDmlYzmnLrmmK/lkKblrZjlnKg6CiAgICAgICAg5pWM5py6WOWdkOaghyA9IHJhbmRvbS5yYW5kaW50KDAsIOWxj+W5lVjmnIDlpKflgLwpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMTApLCAwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCmRlZiDorqHnrpflvpfliIYoKToKICAgIGdsb2JhbCDlvpfliIYKICAgIGlmIOaVjOaculjlnZDmoIcgPT0g5pys5py6WOWdkOaghzoKICAgICAgICDlvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOW+l+WIhiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgIOaYvuekuuaIkeacuigpCgoKCuWxj+W5lVjmnIDlpKflgLwgPSAyMwrlsY/luZVZ5pyA5aSn5YC8ID0gMjMK5pys5py6WOWdkOaghyA9IDAK5pWM5py6WOWdkOaghyA9IDAK5a2Q5by5WOWdkOaghyA9IDAK5b6X5YiGID0gMArmmL7npLrmiJHmnLooKQp3aGlsZSBUcnVlOgogICAg5pi+56S65pWM5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5Y+R5bCE5a2Q5by5KCkKICAgICAgICDorqHnrpflvpfliIYoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-2 飞机大战-结束游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-2 飞机大战-结束游戏.mix index 1c60fdba..f2977572 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-2 飞机大战-结束游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-2 飞机大战-结束游戏.mix @@ -1 +1 @@ -屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0得分0游戏开始FALSEWHILETRUEA2keyTRUE得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0TRUE988100TRUE显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixly最终得分:Mixlyx得分0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHJhbmRvbQoKCmRlZiDorqHnrpflvpfliIYoKToKICAgIGdsb2JhbCDlvpfliIYKICAgIGlmIOaVjOaculjlnZDmoIcgPT0g5pys5py6WOWdkOaghzoKICAgICAgICDlvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlvpfliIYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAg5pi+56S65oiR5py6KCkKCmRlZiDmmL7npLrmlYzmnLooKToKICAgIGdsb2JhbCDmlYzmnLpY5Z2Q5qCHCiAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBGYWxzZQogICAgZm9yIHggaW4gcmFuZ2UoMCwg5bGP5bmVWOacgOWkp+WAvCwgMSk6CiAgICAgICAgaWYgb25ib2FyZF90ZnQucGl4ZWwoaW50KCh4ICogMTApKSwgaW50KDApKSA9PSAweGZmZmY6CiAgICAgICAgICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCDmlYzmnLrmmK/lkKblrZjlnKg6CiAgICAgICAg5pWM5py6WOWdkOaghyA9IHJhbmRvbS5yYW5kaW50KDAsIOWxj+W5lVjmnIDlpKflgLwpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMTApLCAwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCmRlZiDliKTmlq3nu5PmnZ8oKToKICAgIGdsb2JhbCDmuLjmiI/lvIDlp4sKICAgIGdsb2JhbCDliankvZnlrZDlvLkKICAgIOWJqeS9meWtkOW8uSAtPSAxCiAgICBpZiDliankvZnlrZDlvLkgPD0gMDoKICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmnIDnu4jlvpfliIbvvJonICsgc3RyKOW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgoK5bGP5bmVWOacgOWkp+WAvCA9IDIzCuWxj+W5lVnmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmlYzmnLpY5Z2Q5qCHID0gMArlrZDlvLlY5Z2Q5qCHID0gMArlvpfliIYgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICDlvpfliIYgPSAwCiAgICAgICAg5Ymp5L2Z5a2Q5by5ID0gNQogICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIOaYvuekuuaVjOacuigpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICAgICAg5pi+56S65oiR5py6KCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgICAgICDmmL7npLrmiJHmnLooKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5Y+R5bCE5a2Q5by5KCkKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg5Yik5pat57uT5p2fKCkKDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IFRydWUKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkKICAgICAgICAgICAgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCkKICAgICAgICAgICAgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCkK \ No newline at end of file +屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0得分0游戏开始FALSEWHILETRUEA2keyTRUE得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0TRUE988100TRUE显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixly最终得分:Mixlyx得分0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHJhbmRvbQoKCmRlZiDorqHnrpflvpfliIYoKToKICAgIGdsb2JhbCDlvpfliIYKICAgIGlmIOaVjOaculjlnZDmoIcgPT0g5pys5py6WOWdkOaghzoKICAgICAgICDlvpfliIYgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlvpfliIYpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAg5pi+56S65oiR5py6KCkKCmRlZiDmmL7npLrmlYzmnLooKToKICAgIGdsb2JhbCDmlYzmnLpY5Z2Q5qCHCiAgICDmlYzmnLrmmK/lkKblrZjlnKggPSBGYWxzZQogICAgZm9yIHggaW4gcmFuZ2UoMCwg5bGP5bmVWOacgOWkp+WAvCwgMSk6CiAgICAgICAgaWYgb25ib2FyZF90ZnQucGl4ZWwoaW50KCh4ICogMTApKSwgaW50KDApKSA9PSAweGZmZmY6CiAgICAgICAgICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IFRydWUKICAgICAgICAgICAgYnJlYWsKICAgIGlmIG5vdCDmlYzmnLrmmK/lkKblrZjlnKg6CiAgICAgICAg5pWM5py6WOWdkOaghyA9IHJhbmRvbS5yYW5kaW50KDAsIOWxj+W5lVjmnIDlpKflgLwpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMTApLCAwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5pi+56S65oiR5py6KCk6CiAgICBnbG9iYWwg5pys5py6WOWdkOaghwogICAg5pys5py6WOWdkOaghyA9IG1pbihtYXgo5pys5py6WOWdkOaghywgMCksIOWxj+W5lVjmnIDlpKflgLwgLSAxKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KDAsIDIyMCwgMjQwLCAyMCwgMHgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAxMCksIDIzMCwgMzAsIDEwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5pys5py6WOWdkOaghyAqIDEwKSwgMjIwLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjk0LCA1MCkKCmRlZiDlj5HlsITlrZDlvLkoKToKICAgIGdsb2JhbCDlrZDlvLlY5Z2Q5qCHCiAgICDlrZDlvLlY5Z2Q5qCHID0g5pys5py6WOWdkOaghwogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI2MiwgNTApCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCmRlZiDliKTmlq3nu5PmnZ8oKToKICAgIGdsb2JhbCDmuLjmiI/lvIDlp4sKICAgIGdsb2JhbCDliankvZnlrZDlvLkKICAgIOWJqeS9meWtkOW8uSAtPSAxCiAgICBpZiDliankvZnlrZDlvLkgPD0gMDoKICAgICAgICDmuLjmiI/lvIDlp4sgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmnIDnu4jlvpfliIbvvJonICsgc3RyKOW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKCgoK5bGP5bmVWOacgOWkp+WAvCA9IDIzCuWxj+W5lVnmnIDlpKflgLwgPSAyMwrmnKzmnLpY5Z2Q5qCHID0gMArmlYzmnLpY5Z2Q5qCHID0gMArlrZDlvLlY5Z2Q5qCHID0gMArlvpfliIYgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICDlvpfliIYgPSAwCiAgICAgICAg5Ymp5L2Z5a2Q5by5ID0gNQogICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYg5ri45oiP5byA5aeLOgogICAgICAgIOaYvuekuuaVjOacuigpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmnKzmnLpY5Z2Q5qCHIC09IDEKICAgICAgICAgICAg5pi+56S65oiR5py6KCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOacrOaculjlnZDmoIcgKz0gMQogICAgICAgICAgICDmmL7npLrmiJHmnLooKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5Y+R5bCE5a2Q5by5KCkKICAgICAgICAgICAg6K6h566X5b6X5YiGKCkKICAgICAgICAgICAg5Yik5pat57uT5p2fKCkKDA6CiAgICAgICAgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93cyhzdHIoX0U1X0JFXzk3X0U1Xzg4Xzg2KSxzcGFjZSA9IDAsY2VudGVyID0gVHJ1ZSkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCID0gRmFsc2UKX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fbWluaS5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbWF0cml4LmZpbGwoMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgICAgICBfRTVfQkVfOTdfRTVfODhfODYgPSAwCiAgICAgICAgX0U1Xzg5X0E5X0U0X0JEXzk5X0U1X0FEXzkwX0U1X0JDX0I5ID0gNQogICAgICAgIF9FNl9COF9COF9FNl84OF84Rl9FNV9CQ184MF9FNV9BN184QiA9IFRydWUKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgX0U2X0I4X0I4X0U2Xzg4XzhGX0U1X0JDXzgwX0U1X0E3XzhCOgogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl85NV84Q19FNl85Q19CQSgpCiAgICAgICAgaWYgbWl4Z29fbWluaS5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICAgICAgX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKICAgICAgICBpZiBtaXhnb19taW5pLkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgICAgIGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkKICAgICAgICAgICAgX0U4X0FFX0ExX0U3X0FFXzk3X0U1X0JFXzk3X0U1Xzg4Xzg2KCkKICAgICAgICAgICAgX0U1Xzg4X0E0X0U2Xzk2X0FEX0U3X0JCXzkzX0U2XzlEXzlGKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-3 飞机大战-体感控制.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-3 飞机大战-体感控制.mix index acfe245d..ccf5857a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-3 飞机大战-体感控制.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-4-3 飞机大战-体感控制.mix @@ -1 +1 @@ -屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0得分0游戏开始FALSEWHILETRUEA2keyTRUE得分0剩余子弹5游戏开始TRUE游戏开始LT[0]-0.2MINUS本机X坐标1GT[0]0.2ADD本机X坐标1B2key计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0TRUE988100TRUE显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixly最终得分:Mixlyx得分0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWNjCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgcmFuZG9tCgoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOW+l+WIhgogICAgaWYg5pWM5py6WOWdkOaghyA9PSDmnKzmnLpY5Z2Q5qCHOgogICAgICAgIOW+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICDmmL7npLrmiJHmnLooKQoKZGVmIOaYvuekuuaVjOacuigpOgogICAgZ2xvYmFsIOaVjOaculjlnZDmoIcKICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCDlsY/luZVY5pyA5aSn5YC8LCAxKToKICAgICAgICBpZiBvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKiAxMCkpLCBpbnQoMCkpID09IDB4ZmZmZjoKICAgICAgICAgICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gVHJ1ZQogICAgICAgICAgICBicmVhawogICAgaWYgbm90IOaVjOacuuaYr+WQpuWtmOWcqDoKICAgICAgICDmlYzmnLpY5Z2Q5qCHID0gcmFuZG9tLnJhbmRpbnQoMCwg5bGP5bmVWOacgOWkp+WAvCkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOaVjOaculjlnZDmoIcgKiAxMCksIDAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOWIpOaWree7k+adnygpOgogICAgZ2xvYmFsIOa4uOaIj+W8gOWniwogICAgZ2xvYmFsIOWJqeS9meWtkOW8uQogICAg5Ymp5L2Z5a2Q5by5IC09IDEKICAgIGlmIOWJqeS9meWtkOW8uSA8PSAwOgogICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acgOe7iOW+l+WIhu+8micgKyBzdHIo5b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCgrlsY/luZVY5pyA5aSn5YC8ID0gMjMK5bGP5bmVWeacgOWkp+WAvCA9IDIzCuacrOaculjlnZDmoIcgPSAwCuaVjOaculjlnZDmoIcgPSAwCuWtkOW8uVjlnZDmoIcgPSAwCuW+l+WIhiA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgIOW+l+WIhiA9IDAKICAgICAgICDliankvZnlrZDlvLkgPSA1CiAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAg5pi+56S65pWM5py6KCkKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjI6CiAgICAgICAgICAgIOacrOaculjlnZDmoIcgLT0gMQogICAgICAgICAgICDmmL7npLrmiJHmnLooKQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4yOgogICAgICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICAgICAg5pi+56S65oiR5py6KCkKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOWPkeWwhOWtkOW8uSgpCiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOWIpOaWree7k+adnygpCg== \ No newline at end of file +屏幕X最大值23屏幕Y最大值23本机X坐标0敌机X坐标0子弹X坐标0得分0游戏开始FALSEWHILETRUEA2keyTRUE得分0剩余子弹5游戏开始TRUE游戏开始LT[0]-0.2MINUS本机X坐标1GT[0]0.2ADD本机X坐标1B2key计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0TRUE988100TRUE显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x100#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int06屏幕X最大值fill_rect20MULTIPLY1敌机X坐标1001010255,255,0#ffffffTRUE显示我机本机X坐标本机X坐标1000本机X坐标0100MINUS1屏幕X最大值1fill_rect022024020255,255,0#000000FALSEfill_rect20MULTIPLY1MINUS1本机X坐标1102303010255,255,0#ffffffFALSEfill_rect20MULTIPLY1本机X坐标102201010255,255,0#ffffffTRUE29450发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#ffffffTRUEfill_rect20MULTIPLY1子弹X坐标10230MULTIPLY1子弹Y坐标101010255,255,0#000000FALSE判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixly最终得分:Mixlyx得分0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWNjCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgcmFuZG9tCgoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOW+l+WIhgogICAgaWYg5pWM5py6WOWdkOaghyA9PSDmnKzmnLpY5Z2Q5qCHOgogICAgICAgIOW+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICDmmL7npLrmiJHmnLooKQoKZGVmIOaYvuekuuaVjOacuigpOgogICAgZ2xvYmFsIOaVjOaculjlnZDmoIcKICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCDlsY/luZVY5pyA5aSn5YC8LCAxKToKICAgICAgICBpZiBvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKiAxMCkpLCBpbnQoMCkpID09IDB4ZmZmZjoKICAgICAgICAgICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gVHJ1ZQogICAgICAgICAgICBicmVhawogICAgaWYgbm90IOaVjOacuuaYr+WQpuWtmOWcqDoKICAgICAgICDmlYzmnLpY5Z2Q5qCHID0gcmFuZG9tLnJhbmRpbnQoMCwg5bGP5bmVWOacgOWkp+WAvCkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOaVjOaculjlnZDmoIcgKiAxMCksIDAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCmRlZiDmmL7npLrmiJHmnLooKToKICAgIGdsb2JhbCDmnKzmnLpY5Z2Q5qCHCiAgICDmnKzmnLpY5Z2Q5qCHID0gbWluKG1heCjmnKzmnLpY5Z2Q5qCHLCAwKSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoMCwgMjIwLCAyNDAsIDIwLCAweDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgoKOacrOaculjlnZDmoIcgLSAxKSAqIDEwKSwgMjMwLCAzMCwgMTAsIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMTApLCAyMjAsIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyOTQsIDUwKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMjYyLCA1MCkKICAgIGZvciDlrZDlvLlZ5Z2Q5qCHIGluIHJhbmdlKOWxj+W5lVnmnIDlpKflgLwgLSAyLCAtMiwgLTEpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo5a2Q5by5WOWdkOaghyAqIDEwKSwgKOWtkOW8uVnlnZDmoIcgKiAxMCksIDEwLCAxMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4MCxzeW5jPUZhbHNlKQoKZGVmIOWIpOaWree7k+adnygpOgogICAgZ2xvYmFsIOa4uOaIj+W8gOWniwogICAgZ2xvYmFsIOWJqeS9meWtkOW8uQogICAg5Ymp5L2Z5a2Q5by5IC09IDEKICAgIGlmIOWJqeS9meWtkOW8uSA8PSAwOgogICAgICAgIOa4uOaIj+W8gOWniyA9IEZhbHNlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+acgOe7iOW+l+WIhu+8micgKyBzdHIo5b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKCgrlsY/luZVY5pyA5aSn5YC8ID0gMjMK5bGP5bmVWeacgOWkp+WAvCA9IDIzCuacrOaculjlnZDmoIcgPSAwCuaVjOaculjlnZDmoIcgPSAwCuWtkOW8uVjlnZDmoIcgPSAwCuW+l+WIhiA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgIOW+l+WIhiA9IDAKICAgICAgICDliankvZnlrZDlvLkgPSA1CiAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgIOaYvuekuuaIkeacuigpCiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAg5pi+56S65pWM5py6KCkKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IC0wLjI6CiAgICAgICAgICAgIOacrOaculjlnZDmoIcgLT0gMQogICAgICAgICAgICDmmL7npLrmiJHmnLooKQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMC4yOgogICAgICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICAgICAg5pi+56S65oiR5py6KCkKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOWPkeWwhOWtkOW8uSgpCiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOWIpOaWree7k+adnygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-1 外接旋钮-模拟输入测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-1 外接旋钮-模拟输入测试.mix index 111afabb..9bd394d6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-1 外接旋钮-模拟输入测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-1 外接旋钮-模拟输入测试.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUEMixlyadc13s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTMuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQp3aGlsZSBUcnVlOgogICAgcHJpbnQoYWRjMTMucmVhZF91MTYoKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUEMixlyadc13s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTMuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQp3aGlsZSBUcnVlOgogICAgcHJpbnQoYWRjMTMucmVhZF91MTYoKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-2 外接旋钮-参考电压应用.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-2 外接旋钮-参考电压应用.mix index 2c3ce935..db6bf945 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-2 外接旋钮-参考电压应用.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-1-2 外接旋钮-参考电压应用.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13WHILETRUEmachine.ADC.ATTN_6DBadc13参考电压:2.2V adc13MULTIPLY1DIVIDE1adc13655352.2machine.ADC.ATTN_2_5DBadc13参考电压:1.5V adc13MULTIPLY1DIVIDE1adc13655351.5s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKd2hpbGUgVHJ1ZToKICAgIGFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fNkRCKQogICAgcHJpbnQoJ+WPguiAg+eUteWOizoyLjJWICcsIGFkYzEzLnJlYWRfdTE2KCksIChhZGMxMy5yZWFkX3UxNigpIC8gNjU1MzUpICogMi4yKQogICAgYWRjMTMuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8yXzVEQikKICAgIHByaW50KCflj4LogIPnlLXljos6MS41ViAnLCBhZGMxMy5yZWFkX3UxNigpLCAoYWRjMTMucmVhZF91MTYoKSAvIDY1NTM1KSAqIDEuNSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13WHILETRUEmachine.ADC.ATTN_6DBadc13参考电压:2.2V adc13MULTIPLY1DIVIDE1adc13655352.2machine.ADC.ATTN_2_5DBadc13参考电压:1.5V adc13MULTIPLY1DIVIDE1adc13655351.5s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKd2hpbGUgVHJ1ZToKICAgIGFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fNkRCKQogICAgcHJpbnQoJ+WPguiAg+eUteWOizoyLjJWICcsIGFkYzEzLnJlYWRfdTE2KCksIChhZGMxMy5yZWFkX3UxNigpIC8gNjU1MzUpICogMi4yKQogICAgYWRjMTMuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8yXzVEQikKICAgIHByaW50KCflj4LogIPnlLXljos6MS41ViAnLCBhZGMxMy5yZWFkX3UxNigpLCAoYWRjMTMucmVhZF91MTYoKSAvIDY1NTM1KSAqIDEuNSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-1 外接旋钮-可调台灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-1 外接旋钮-可调台灯.mix index e3bb6867..89b0ddf9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-1 外接旋钮-可调台灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-1 外接旋钮-可调台灯.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUE1100intx50adc1306553501002100intx50adc130655350100{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIGludCgobWF0aF9tYXAoYWRjMTMucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDEwMCkpKSkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwgaW50KChtYXRoX21hcChhZGMxMy5yZWFkX3UxNigpLCAwLCA2NTUzNSwgMCwgMTAwKSkpKQo= \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUE1100intx50adc1306553501002100intx50adc130655350100{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIGludCgobWF0aF9tYXAoYWRjMTMucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDEwMCkpKSkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwgaW50KChtYXRoX21hcChhZGMxMy5yZWFkX3UxNigpLCAwLCA2NTUzNSwgMCwgMTAwKSkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-2 外接旋钮-可调台灯2.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-2 外接旋钮-可调台灯2.mix index 3cf1edb9..bdfe04c8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-2 外接旋钮-可调台灯2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-2-2 外接旋钮-可调台灯2.mix @@ -1,2 +1,2 @@ -外接旋钮通过typec接到13号管脚,外接迷你LED接到U3管脚 +外接旋钮通过typec接到13号管脚,外接迷你LED接到U3管脚 adc#13machine.ADC.ATTN_11DBadc13WHILETRUE3100round0.99850adc130655350100{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2JvdC51c2JlbigzLCByb3VuZChtYXRoX21hcChhZGMxMy5yZWFkX3UxNigpLCAwLCA2NTUzNSwgMCwgMTAwKSkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-1 外接旋钮-音量调节.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-1 外接旋钮-音量调节.mix index 6f763fdb..0df86c19 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-1 外接旋钮-音量调节.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-1 外接旋钮-音量调节.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUE100intx50adc130655350100onboard_music.BA_DING{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgoKYWRjMTMgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxMykpCmFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fMTFEQikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbXVzaWMudm9sdW1lKGludCgobWF0aF9tYXAoYWRjMTMucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDEwMCkpKSkKICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCg== \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUE100intx50adc130655350100onboard_music.BA_DING{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgoKYWRjMTMgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxMykpCmFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fMTFEQikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbXVzaWMudm9sdW1lKGludCgobWF0aF9tYXAoYWRjMTMucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDEwMCkpKSkKICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-2 外接旋钮-频率调节.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-2 外接旋钮-频率调节.mix index 2645bca8..c0a9469a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-2 外接旋钮-频率调节.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-3-2 外接旋钮-频率调节.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUE440intx50adc13065535303000100{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgoKYWRjMTMgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxMykpCmFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fMTFEQikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZShpbnQoKG1hdGhfbWFwKGFkYzEzLnJlYWRfdTE2KCksIDAsIDY1NTM1LCAzMCwgMzAwMCkpKSwgMTAwKQo= \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUE440intx50adc13065535303000100{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgoKYWRjMTMgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxMykpCmFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fMTFEQikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZShpbnQoKG1hdGhfbWFwKGFkYzEzLnJlYWRfdTE2KCksIDAsIDY1NTM1LCAzMCwgMzAwMCkpKSwgMTAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-1 外接旋钮-可调彩灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-1 外接旋钮-可调彩灯.mix index 4e96e98a..2a229916 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-1 外接旋钮-可调彩灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-1 外接旋钮-可调彩灯.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUERGBintx50adc13065535025500RGB0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBSR0IgPSBpbnQoKG1hdGhfbWFwKGFkYzEzLnJlYWRfdTE2KCksIDAsIDY1NTM1LCAwLCAyNTUpKSkKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIFJHQiwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUERGBintx50adc13065535025500RGB0{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBSR0IgPSBpbnQoKG1hdGhfbWFwKGFkYzEzLnJlYWRfdTE2KCksIDAsIDY1NTM1LCAwLCAyNTUpKSkKICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIFJHQiwgMCkpCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-2 外接旋钮-RGB效果.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-2 外接旋钮-RGB效果.mix index 7cde6e94..78db4174 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-2 外接旋钮-RGB效果.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/1-4-2 外接旋钮-RGB效果.mix @@ -1 +1 @@ -外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUERGBround0.99850adc13065535040000,1,2,305RGB1i0i0030{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBSR0IgPSByb3VuZChtYXRoX21hcChhZGMxMy5yZWFkX3UxNigpLCAwLCA2NTUzNSwgMCwgNCkpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIFJHQiwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMzApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file +外接旋钮通过typec接到13号管脚adc#13machine.ADC.ATTN_11DBadc13WHILETRUERGBround0.99850adc13065535040000,1,2,305RGB1i0i0030{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBSR0IgPSByb3VuZChtYXRoX21hcChhZGMxMy5yZWFkX3UxNigpLCAwLCA2NTUzNSwgMCwgNCkpCiAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgIGZvciBpIGluIHJhbmdlKDAsIFJHQiwgMSk6CiAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMCwgMCwgMzApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-1 外接温度传感器-数字温度计.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-1 外接温度传感器-数字温度计.mix index 37c4ad6d..4ce159e9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-1 外接温度传感器-数字温度计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-1 外接温度传感器-数字温度计.mix @@ -1 +1 @@ -温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑WHILETRUEtintx15TrueMixlyt0TRUEs1{}ZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgdCA9IGludChEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpKQogICAgb25ib2FyZF90ZnQuc2hvd3ModCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑WHILETRUEtintx15TrueMixlyt0TRUEs1{}ZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAgdCA9IGludChEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpKQogICAgb25ib2FyZF90ZnQuc2hvd3ModCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-2 外接温度传感器-主控发热测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-2 外接温度传感器-主控发热测试.mix index e7bb66d7..4497b651 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-2 外接温度传感器-主控发热测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-1-2 外接温度传感器-主控发热测试.mix @@ -1 +1 @@ -温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑WHILETRUEt1intx15t2intxtemperatureTrueMixly{} {}t1t20TRUEs1{}ZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICB0MSA9IGludChEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpKQogICAgdDIgPSBpbnQob25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCd7fSB7fScuZm9ybWF0KHQxLCB0MiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑WHILETRUEt1intx15t2intxtemperatureTrueMixly{} {}t1t20TRUEs1{}ZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICB0MSA9IGludChEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpKQogICAgdDIgPSBpbnQob25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCd7fSB7fScuZm9ybWF0KHQxLCB0MiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-1 外接温度传感器-模拟体温测量.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-1 外接温度传感器-模拟体温测量.mix index 8aebb073..7d1943df 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-1 外接温度传感器-模拟体温测量.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-1 外接温度传感器-模拟体温测量.mix @@ -1 +1 @@ -温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑开始时间msWHILETRUEB1key开始时间mstrueTrueMixly当前温度:Mixlyx150TRUEGT1535TrueMixly花费时间:MixlyxMINUS1ms1开始时间0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5b2T5YmN5rip5bqm77yaJyArIHN0cihEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICBpZiAoRFMxOFgyMCgxNSkudGVtcGVyYXR1cmUoKSA+IDM1KToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iKsei0ueaXtumXtO+8micgKyBzdHIoKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtumXtCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑开始时间msWHILETRUEB1key开始时间mstrueTrueMixly当前温度:Mixlyx150TRUEGT1535TrueMixly花费时间:MixlyxMINUS1ms1开始时间0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBkczE4YjIwIGltcG9ydCBEUzE4WDIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5b2T5YmN5rip5bqm77yaJyArIHN0cihEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICBpZiAoRFMxOFgyMCgxNSkudGVtcGVyYXR1cmUoKSA+IDM1KToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iKsei0ueaXtumXtO+8micgKyBzdHIoKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtumXtCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-2 外接温度传感器-显示温度曲线.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-2 外接温度传感器-显示温度曲线.mix index 0297e680..25cc0518 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-2 外接温度传感器-显示温度曲线.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-2-2 外接温度传感器-显示温度曲线.mix @@ -1 +1 @@ -温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑开始时间msWHILETRUE2390intx5015040239120255,255,0#ffffffTRUEshift_left1TRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGRzMThiMjAgaW1wb3J0IERTMThYMjAKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgrlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnBpeGVsKGludCgyMzkpLCBpbnQoaW50KChtYXRoX21hcChEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpLCAwLCA0MCwgMjM5LCAxMjApKSkpLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkK \ No newline at end of file +温度传感器(DS18B20)连接到杜邦口IO15、具体连接是,SANT背板朝上,温度传感器连接到从上面往下数 0 1 2 3 ,连接到1 2 3 三个杜邦口,线序是黄 红 黑开始时间msWHILETRUE2390intx5015040239120255,255,0#ffffffTRUEshift_left1TRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGRzMThiMjAgaW1wb3J0IERTMThYMjAKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgrlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnBpeGVsKGludCgyMzkpLCBpbnQoaW50KChtYXRoX21hcChEUzE4WDIwKDE1KS50ZW1wZXJhdHVyZSgpLCAwLCA0MCwgMjM5LCAxMjApKSkpLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-1 外接超声波测距传感器-超声波测距.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-1 外接超声波测距传感器-超声波测距.mix index 6787e0be..efcc0446 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-1 外接超声波测距传感器-超声波测距.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-1 外接超声波测距传感器-超声波测距.mix @@ -1 +1 @@ -超声波测距连接到U1,使用IO1,IO2WHILETRUEdintx12LTd200TrueMixlyd0TRUEs1{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBkID0gaW50KHNvbmFyLlNvbmFyKDEsIDIpLmNoZWNrZGlzdCgpKQogICAgaWYgZCA8IDIwMDoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhkLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQo=alue>2LTd2000x050x50d255,255,0#ffffffTRUE开始FALSE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgc29uYXIKCuW8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBpZiDlvIDlp4s6CiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMjQwLCAxKToKICAgICAgICAgICAgZCA9IGludChzb25hci5Tb25hcigxLCAyKS5jaGVja2Rpc3QoKSkKICAgICAgICAgICAgaWYgZCA8IDIwMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMCwgeCwgZCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICDlvIDlp4sgPSBGYWxzZQo= \ No newline at end of file +超声波测距连接到U1,使用IO1,IO2WHILETRUEdintx12LTd200TrueMixlyd0TRUEs1{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBkID0gaW50KHNvbmFyLlNvbmFyKDEsIDIpLmNoZWNrZGlzdCgpKQogICAgaWYgZCA8IDIwMDoKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhkLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQo=alue>2LTd2000x050x50d255,255,0#ffffffTRUE开始FALSE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgc29uYXIKCuW8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gVHJ1ZQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICBpZiDlvIDlp4s6CiAgICAgICAgZm9yIHggaW4gcmFuZ2UoMCwgMjQwLCAxKToKICAgICAgICAgICAgZCA9IGludChzb25hci5Tb25hcigxLCAyKS5jaGVja2Rpc3QoKSkKICAgICAgICAgICAgaWYgZCA8IDIwMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmxpbmUoeCwgMCwgeCwgZCwgMHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICDlvIDlp4sgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-2 外接超声波测距传感器-倒车雷达.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-2 外接超声波测距传感器-倒车雷达.mix index 5fa3a8ac..ffb98c31 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-2 外接超声波测距传感器-倒车雷达.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-3-2 外接超声波测距传感器-倒车雷达.mix @@ -1 +1 @@ -超声波测距连接到U1,使用IO1,IO2WHILETRUE距离round0.99812TrueMixly距离0TRUELT距离506591000MULTIPLY5距离10ms1MULTIPLY5距离10{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAg6Led56a7ID0gcm91bmQoc29uYXIuU29uYXIoMSwgMikuY2hlY2tkaXN0KCkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjot53nprssIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOi3neemuyA8IDUwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksICjot53nprsgKiAxMCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygo6Led56a7ICogMTApKQo= \ No newline at end of file +超声波测距连接到U1,使用IO1,IO2WHILETRUE距离round0.99812TrueMixly距离0TRUELT距离506591000MULTIPLY5距离10ms1MULTIPLY5距离10{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAg6Led56a7ID0gcm91bmQoc29uYXIuU29uYXIoMSwgMikuY2hlY2tkaXN0KCkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjot53nprssIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOi3neemuyA8IDUwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksICjot53nprsgKiAxMCkpCiAgICAgICAgdGltZS5zbGVlcF9tcygo6Led56a7ICogMTApKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-1 外接超声波测距传感器-挥拳速度测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-1 外接超声波测距传感器-挥拳速度测试.mix index 5c232615..2c860ae8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-1 外接超声波测距传感器-挥拳速度测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-1 外接超声波测距传感器-挥拳速度测试.mix @@ -1 +1 @@ -超声波测距连接到U1,使用IO1,IO2时间_400时间_100WHILETRUEd12MixlydLTd40时间_40mstrueLT1210时间_10msTrueMixlyMINUS1intx时间_101时间_400TRUEs1ms1{}aW1wb3J0IHNvbmFyCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuaXtumXtF80MCA9IDAK5pe26Ze0XzEwID0gMAp3aGlsZSBUcnVlOgogICAgZCA9IHNvbmFyLlNvbmFyKDEsIDIpLmNoZWNrZGlzdCgpCiAgICBwcmludChkKQogICAgaWYgZCA8IDQwOgogICAgICAgIOaXtumXtF80MCA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChzb25hci5Tb25hcigxLCAyKS5jaGVja2Rpc3QoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5pe26Ze0XzEwID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaW50KOaXtumXtF8xMCkgLSDml7bpl7RfNDAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICB0aW1lLnNsZWVwX21zKDEpCg== \ No newline at end of file +超声波测距连接到U1,使用IO1,IO2时间_400时间_100WHILETRUEd12MixlydLTd40时间_40mstrueLT1210时间_10msTrueMixlyMINUS1intx时间_101时间_400TRUEs1ms1{}aW1wb3J0IHNvbmFyCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuaXtumXtF80MCA9IDAK5pe26Ze0XzEwID0gMAp3aGlsZSBUcnVlOgogICAgZCA9IHNvbmFyLlNvbmFyKDEsIDIpLmNoZWNrZGlzdCgpCiAgICBwcmludChkKQogICAgaWYgZCA8IDQwOgogICAgICAgIOaXtumXtF80MCA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChzb25hci5Tb25hcigxLCAyKS5jaGVja2Rpc3QoKSA8IDEwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5pe26Ze0XzEwID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaW50KOaXtumXtF8xMCkgLSDml7bpl7RfNDAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICB0aW1lLnNsZWVwX21zKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-2 外接超声波测距传感器-平面扫面仪.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-2 外接超声波测距传感器-平面扫面仪.mix index e8dc4403..52edd645 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-2 外接超声波测距传感器-平面扫面仪.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/2-4-2 外接超声波测距传感器-平面扫面仪.mix @@ -1 +1 @@ -称重传感器连接到U1,使用IO1,IO2WHILETRUE距离round0.99812LT距离2400238020距离255,255,0#ffffffFALSEshift_left1TRUE{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICDot53nprsgPSByb3VuZChzb25hci5Tb25hcigxLCAyKS5jaGVja2Rpc3QoKSkKICAgIGlmIOi3neemuyA8IDI0MDoKICAgICAgICBvbmJvYXJkX3RmdC52bGluZSgyMzgsIDAsIOi3neemuywgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkK \ No newline at end of file +称重传感器连接到U1,使用IO1,IO2WHILETRUE距离round0.99812LT距离2400238020距离255,255,0#ffffffFALSEshift_left1TRUE{}aW1wb3J0IHNvbmFyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCndoaWxlIFRydWU6CiAgICDot53nprsgPSByb3VuZChzb25hci5Tb25hcigxLCAyKS5jaGVja2Rpc3QoKSkKICAgIGlmIOi3neemuyA8IDI0MDoKICAgICAgICBvbmJvYXJkX3RmdC52bGluZSgyMzgsIDAsIOi3neemuywgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-1 外接电机驱动-步进电机恒速连续转.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-1 外接电机驱动-步进电机恒速连续转.mix index ad9fdd0e..1011c46c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-1 外接电机驱动-步进电机恒速连续转.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-1 外接电机驱动-步进电机恒速连续转.mix @@ -1 +1 @@ -i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUEms32006.MOT_Bms32006.MOT_CWMotor10241024{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgMTAyNCkK \ No newline at end of file +i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUEms32006.MOT_Bms32006.MOT_CWMotor10241024{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgMTAyNCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-2 外接电机驱动-步进电机不同速度转.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-2 外接电机驱动-步进电机不同速度转.mix index aafdc5a7..09a88ca1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-2 外接电机驱动-步进电机不同速度转.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-1-2 外接电机驱动-步进电机不同速度转.mix @@ -1 +1 @@ -i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend转速1024WHILETRUEB1key转速1024B2key转速256ms32006.MOT_Bms32006.MOT_CWMotor1024转速1024{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKaW1wb3J0IG1peGdvX3NhbnQKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrovazpgJ8gPSAxMDI0CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6L2s6YCfID0gMTAyNAogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOi9rOmAnyA9IDI1NgogICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywg6L2s6YCfLCAxMDI0KQo= \ No newline at end of file +i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend转速1024WHILETRUEB1key转速1024B2key转速256ms32006.MOT_Bms32006.MOT_CWMotor1024转速1024{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKaW1wb3J0IG1peGdvX3NhbnQKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrovazpgJ8gPSAxMDI0CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6L2s6YCfID0gMTAyNAogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOi9rOmAnyA9IDI1NgogICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywg6L2s6YCfLCAxMDI0KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-1 外接电机驱动-步进电机转不同角度.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-1 外接电机驱动-步进电机转不同角度.mix index a6b3ee88..0192169f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-1 外接电机驱动-步进电机转不同角度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-1 外接电机驱动-步进电机转不同角度.mix @@ -1 +1 @@ -i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend转速1024WHILETRUEB1keyms32006.MOT_Bms32006.MOT_CWMotor1024转速1024B2keyms32006.MOT_Bms32006.MOT_CWMotor1024转速512{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKaW1wb3J0IG1peGdvX3NhbnQKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrovazpgJ8gPSAxMDI0CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywg6L2s6YCfLCAxMDI0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIE1vdG9yLm1vdmUobXMzMjAwNi5NT1RfQiwgbXMzMjAwNi5NT1RfQ1csIOi9rOmAnywgNTEyKQo= \ No newline at end of file +i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend转速1024WHILETRUEB1keyms32006.MOT_Bms32006.MOT_CWMotor1024转速1024B2keyms32006.MOT_Bms32006.MOT_CWMotor1024转速512{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKaW1wb3J0IG1peGdvX3NhbnQKCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrovazpgJ8gPSAxMDI0CndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywg6L2s6YCfLCAxMDI0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIE1vdG9yLm1vdmUobXMzMjAwNi5NT1RfQiwgbXMzMjAwNi5NT1RfQ1csIOi9rOmAnywgNTEyKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-2 外接电机驱动-步进电机转不同速度.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-2 外接电机驱动-步进电机转不同速度.mix index f34d15a2..4991f741 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-2 外接电机驱动-步进电机转不同速度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-2-2 外接电机驱动-步进电机转不同速度.mix @@ -1 +1 @@ -adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUE转数intx50adc91006553501024Mixly转数转数ms32006.MOT_Bms32006.MOT_CWMotor1024转数1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAg6L2s5pWwID0gaW50KChtYXRoX21hcChhZGM5LnJlYWRfdTE2KCksIDEwMCwgNjU1MzUsIDAsIDEwMjQpKSkKICAgIHByaW50KOi9rOaVsCkKICAgIGlmIOi9rOaVsDoKICAgICAgICBNb3Rvci5tb3ZlKG1zMzIwMDYuTU9UX0IsIG1zMzIwMDYuTU9UX0NXLCDovazmlbAsIDEpCg== \ No newline at end of file +adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUE转数intx50adc91006553501024Mixly转数转数ms32006.MOT_Bms32006.MOT_CWMotor1024转数1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAg6L2s5pWwID0gaW50KChtYXRoX21hcChhZGM5LnJlYWRfdTE2KCksIDEwMCwgNjU1MzUsIDAsIDEwMjQpKSkKICAgIHByaW50KOi9rOaVsCkKICAgIGlmIOi9rOaVsDoKICAgICAgICBNb3Rvci5tb3ZlKG1zMzIwMDYuTU9UX0IsIG1zMzIwMDYuTU9UX0NXLCDovazmlbAsIDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度.mix index 15fdddd5..482e44b6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度.mix @@ -1 +1 @@ -adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUE角度intx50adc9100655350180Mixly角度GT角度90ms32006.MOT_Bms32006.MOT_CWMotor10241LT角度90ms32006.MOT_Bms32006.MOT_CCWMotor10241{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAg6KeS5bqmID0gaW50KChtYXRoX21hcChhZGM5LnJlYWRfdTE2KCksIDEwMCwgNjU1MzUsIDAsIDE4MCkpKQogICAgcHJpbnQo6KeS5bqmKQogICAgaWYg6KeS5bqmID4gOTA6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgMSkKICAgIGVsaWYg6KeS5bqmIDwgOTA6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DQ1csIDEwMjQsIDEpCg== \ No newline at end of file +adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUE角度intx50adc9100655350180Mixly角度GT角度90ms32006.MOT_Bms32006.MOT_CWMotor10241LT角度90ms32006.MOT_Bms32006.MOT_CCWMotor10241{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAg6KeS5bqmID0gaW50KChtYXRoX21hcChhZGM5LnJlYWRfdTE2KCksIDEwMCwgNjU1MzUsIDAsIDE4MCkpKQogICAgcHJpbnQo6KeS5bqmKQogICAgaWYg6KeS5bqmID4gOTA6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgMSkKICAgIGVsaWYg6KeS5bqmIDwgOTA6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DQ1csIDEwMjQsIDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度2.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度2.mix index 2b021739..376650fb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-3-1 外接电机驱动-旋钮控制转动及速度2.mix @@ -1 +1 @@ -adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUE角度intx50adc9100655350180Mixly角度GT角度90ms32006.MOT_Bms32006.MOT_CWMotor1024ceil0.998MULTIPLY1MINUS1角度90111LT角度90ms32006.MOT_Bms32006.MOT_CCWMotor1024ceil0.998MULTIPLY1MINUS9090角度111{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKaW1wb3J0IG1hdGgKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAg6KeS5bqmID0gaW50KChtYXRoX21hcChhZGM5LnJlYWRfdTE2KCksIDEwMCwgNjU1MzUsIDAsIDE4MCkpKQogICAgcHJpbnQo6KeS5bqmKQogICAgaWYg6KeS5bqmID4gOTA6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgbWF0aC5jZWlsKCjop5LluqYgLSA5MCkgKiAxMSksIDEpCiAgICBlbGlmIOinkuW6piA8IDkwOgogICAgICAgIE1vdG9yLm1vdmUobXMzMjAwNi5NT1RfQiwgbXMzMjAwNi5NT1RfQ0NXLCBtYXRoLmNlaWwoKDkwIC0g6KeS5bqmKSAqIDExKSwgMSkK \ No newline at end of file +adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extendWHILETRUE角度intx50adc9100655350180Mixly角度GT角度90ms32006.MOT_Bms32006.MOT_CWMotor1024ceil0.998MULTIPLY1MINUS1角度90111LT角度90ms32006.MOT_Bms32006.MOT_CCWMotor1024ceil0.998MULTIPLY1MINUS9090角度111{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKaW1wb3J0IG1hdGgKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQp3aGlsZSBUcnVlOgogICAg6KeS5bqmID0gaW50KChtYXRoX21hcChhZGM5LnJlYWRfdTE2KCksIDEwMCwgNjU1MzUsIDAsIDE4MCkpKQogICAgcHJpbnQo6KeS5bqmKQogICAgaWYg6KeS5bqmID4gOTA6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgbWF0aC5jZWlsKCjop5LluqYgLSA5MCkgKiAxMSksIDEpCiAgICBlbGlmIOinkuW6piA8IDkwOgogICAgICAgIE1vdG9yLm1vdmUobXMzMjAwNi5NT1RfQiwgbXMzMjAwNi5NT1RfQ0NXLCBtYXRoLmNlaWwoKDkwIC0g6KeS5bqmKSAqIDExKSwgMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-1 外接电机驱动-旋钮控制方向.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-1 外接电机驱动-旋钮控制方向.mix index 6fda21a3..0aed2cf8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-1 外接电机驱动-旋钮控制方向.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-1 外接电机驱动-旋钮控制方向.mix @@ -1 +1 @@ -adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend上一角度0WHILETRUEs1当前角度intx50adc90655350360当前角度上一角度GT当前角度上一角度ms32006.MOT_Bms32006.MOT_CWMotor10241ZHENGCHU1MULTIPLY1MINUS1当前角度1上一角度1024360上一角度当前角度LT当前角度上一角度ms32006.MOT_Bms32006.MOT_CCWMotor10241ZHENGCHU1MULTIPLY1MINUS1上一角度1当前角度1024360上一角度当前角度{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKaW1wb3J0IHRpbWUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrkuIrkuIDop5LluqYgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICDlvZPliY3op5LluqYgPSBpbnQoKG1hdGhfbWFwKGFkYzkucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDM2MCkpKQogICAgcHJpbnQo5b2T5YmN6KeS5bqmLCDkuIrkuIDop5LluqYpCiAgICBpZiDlvZPliY3op5LluqYgPiDkuIrkuIDop5LluqY6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgKCgo5b2T5YmN6KeS5bqmIC0g5LiK5LiA6KeS5bqmKSAqIDEwMjQpIC8vIDM2MCkpCiAgICAgICAg5LiK5LiA6KeS5bqmID0g5b2T5YmN6KeS5bqmCiAgICBlbGlmIOW9k+WJjeinkuW6piA8IOS4iuS4gOinkuW6pjoKICAgICAgICBNb3Rvci5tb3ZlKG1zMzIwMDYuTU9UX0IsIG1zMzIwMDYuTU9UX0NDVywgMTAyNCwgKCgo5LiK5LiA6KeS5bqmIC0g5b2T5YmN6KeS5bqmKSAqIDEwMjQpIC8vIDM2MCkpCiAgICAgICAg5LiK5LiA6KeS5bqmID0g5b2T5YmN6KeS5bqmCg== \ No newline at end of file +adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend上一角度0WHILETRUEs1当前角度intx50adc90655350360当前角度上一角度GT当前角度上一角度ms32006.MOT_Bms32006.MOT_CWMotor10241ZHENGCHU1MULTIPLY1MINUS1当前角度1上一角度1024360上一角度当前角度LT当前角度上一角度ms32006.MOT_Bms32006.MOT_CCWMotor10241ZHENGCHU1MULTIPLY1MINUS1上一角度1当前角度1024360上一角度当前角度{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKaW1wb3J0IHRpbWUKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrkuIrkuIDop5LluqYgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICDlvZPliY3op5LluqYgPSBpbnQoKG1hdGhfbWFwKGFkYzkucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDM2MCkpKQogICAgcHJpbnQo5b2T5YmN6KeS5bqmLCDkuIrkuIDop5LluqYpCiAgICBpZiDlvZPliY3op5LluqYgPiDkuIrkuIDop5LluqY6CiAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgKCgo5b2T5YmN6KeS5bqmIC0g5LiK5LiA6KeS5bqmKSAqIDEwMjQpIC8vIDM2MCkpCiAgICAgICAg5LiK5LiA6KeS5bqmID0g5b2T5YmN6KeS5bqmCiAgICBlbGlmIOW9k+WJjeinkuW6piA8IOS4iuS4gOinkuW6pjoKICAgICAgICBNb3Rvci5tb3ZlKG1zMzIwMDYuTU9UX0IsIG1zMzIwMDYuTU9UX0NDVywgMTAyNCwgKCgo5LiK5LiA6KeS5bqmIC0g5b2T5YmN6KeS5bqmKSAqIDEwMjQpIC8vIDM2MCkpCiAgICAgICAg5LiK5LiA6KeS5bqmID0g5b2T5YmN6KeS5bqmCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-2 外接电机驱动-旋钮控制方向2.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-2 外接电机驱动-旋钮控制方向2.mix index 4eb4820d..d0ed0423 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-2 外接电机驱动-旋钮控制方向2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/3-4-2 外接电机驱动-旋钮控制方向2.mix @@ -1 +1 @@ -adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend上一角度0WHILETRUE当前角度intx50adc90655350360当前角度上一角度GT当前角度上一角度0,1,2,305ZHENGCHU1MULTIPLY1MINUS1当前角度1上一角度10243601ims32006.MOT_Bms32006.MOT_CWMotor10241上一角度当前角度LT当前角度上一角度0,1,2,305ZHENGCHU1MULTIPLY1MINUS1上一角度1当前角度10243601ims32006.MOT_Bms32006.MOT_CCWMotor10241上一角度当前角度{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrkuIrkuIDop5LluqYgPSAwCndoaWxlIFRydWU6CiAgICDlvZPliY3op5LluqYgPSBpbnQoKG1hdGhfbWFwKGFkYzkucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDM2MCkpKQogICAgcHJpbnQo5b2T5YmN6KeS5bqmLCDkuIrkuIDop5LluqYpCiAgICBpZiDlvZPliY3op5LluqYgPiDkuIrkuIDop5LluqY6CiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgKCjlvZPliY3op5LluqYgLSDkuIrkuIDop5LluqYpICogMTAyNCkgLy8gMzYwLCAxKToKICAgICAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgMSkKICAgICAgICDkuIrkuIDop5LluqYgPSDlvZPliY3op5LluqYKICAgIGVsaWYg5b2T5YmN6KeS5bqmIDwg5LiK5LiA6KeS5bqmOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsICgo5LiK5LiA6KeS5bqmIC0g5b2T5YmN6KeS5bqmKSAqIDEwMjQpIC8vIDM2MCwgMSk6CiAgICAgICAgICAgIE1vdG9yLm1vdmUobXMzMjAwNi5NT1RfQiwgbXMzMjAwNi5NT1RfQ0NXLCAxMDI0LCAxKQogICAgICAgIOS4iuS4gOinkuW6piA9IOW9k+WJjeinkuW6pgo= \ No newline at end of file +adc#9machine.ADC.ATTN_11DBadc9i2c_extend1314400000ms32006.ADDRESS_BMotori2c_extend上一角度0WHILETRUE当前角度intx50adc90655350360当前角度上一角度GT当前角度上一角度0,1,2,305ZHENGCHU1MULTIPLY1MINUS1当前角度1上一角度10243601ims32006.MOT_Bms32006.MOT_CWMotor10241上一角度当前角度LT当前角度上一角度0,1,2,305ZHENGCHU1MULTIPLY1MINUS1上一角度1当前角度10243601ims32006.MOT_Bms32006.MOT_CCWMotor10241上一角度当前角度{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1zMzIwMDYKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgphZGM5ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oOSkpCmFkYzkuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEzKSwgc2RhPW1hY2hpbmUuUGluKDE0KSwgZnJlcT00MDAwMDApCk1vdG9yPW1zMzIwMDYuTVMzMjAwNihpMmNfZXh0ZW5kLCBhZGRyPW1zMzIwMDYuQUREUkVTU19CKQrkuIrkuIDop5LluqYgPSAwCndoaWxlIFRydWU6CiAgICDlvZPliY3op5LluqYgPSBpbnQoKG1hdGhfbWFwKGFkYzkucmVhZF91MTYoKSwgMCwgNjU1MzUsIDAsIDM2MCkpKQogICAgcHJpbnQo5b2T5YmN6KeS5bqmLCDkuIrkuIDop5LluqYpCiAgICBpZiDlvZPliY3op5LluqYgPiDkuIrkuIDop5LluqY6CiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgKCjlvZPliY3op5LluqYgLSDkuIrkuIDop5LluqYpICogMTAyNCkgLy8gMzYwLCAxKToKICAgICAgICAgICAgTW90b3IubW92ZShtczMyMDA2Lk1PVF9CLCBtczMyMDA2Lk1PVF9DVywgMTAyNCwgMSkKICAgICAgICDkuIrkuIDop5LluqYgPSDlvZPliY3op5LluqYKICAgIGVsaWYg5b2T5YmN6KeS5bqmIDwg5LiK5LiA6KeS5bqmOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsICgo5LiK5LiA6KeS5bqmIC0g5b2T5YmN6KeS5bqmKSAqIDEwMjQpIC8vIDM2MCwgMSk6CiAgICAgICAgICAgIE1vdG9yLm1vdmUobXMzMjAwNi5NT1RfQiwgbXMzMjAwNi5NT1RfQ0NXLCAxMDI0LCAxKQogICAgICAgIOS4iuS4gOinkuW6piA9IOW9k+WJjeinkuW6pgo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-1 外接双红外测距-测距测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-1 外接双红外测距-测距测试.mix index 69f2d45f..1eefe6d1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-1 外接双红外测距-测距测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-1 外接双红外测距-测距测试.mix @@ -1 +1 @@ -adc#13adc#14machine.ADC.ATTN_11DBadc13machine.ADC.ATTN_11DBadc14WHILETRUEadc13adc14s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxNCkpCmFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fMTFEQikKYWRjMTQuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQp3aGlsZSBUcnVlOgogICAgcHJpbnQoYWRjMTMucmVhZF91MTYoKSwgYWRjMTQucmVhZF91MTYoKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +adc#13adc#14machine.ADC.ATTN_11DBadc13machine.ADC.ATTN_11DBadc14WHILETRUEadc13adc14s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxNCkpCmFkYzEzLmF0dGVuKG1hY2hpbmUuQURDLkFUVE5fMTFEQikKYWRjMTQuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQp3aGlsZSBUcnVlOgogICAgcHJpbnQoYWRjMTMucmVhZF91MTYoKSwgYWRjMTQucmVhZF91MTYoKSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-2 外接双红外测距-入侵检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-2 外接双红外测距-入侵检测.mix index 12b195ed..b9508763 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-2 外接双红外测距-入侵检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-1-2 外接双红外测距-入侵检测.mix @@ -1 +1 @@ -adc#13adc#14入侵FALSEWHILETRUEB1key入侵FALSEORGTadc1310000GTadc1410000入侵TRUE入侵100{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkK5YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhaXkvrUgPSBGYWxzZQogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwIG9yIGFkYzE0LnJlYWRfdTE2KCkgPiAxMDAwMDoKICAgICAgICDlhaXkvrUgPSBUcnVlCiAgICBpZiDlhaXkvrU6CiAgICAgICAgb25ib2FyZF9yZ2IucmFpbmJvd19jeWNsZSgxMDApCg== \ No newline at end of file +adc#13adc#14入侵FALSEWHILETRUEB1key入侵FALSEORGTadc1310000GTadc1410000入侵TRUE入侵100{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkK5YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhaXkvrUgPSBGYWxzZQogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwIG9yIGFkYzE0LnJlYWRfdTE2KCkgPiAxMDAwMDoKICAgICAgICDlhaXkvrUgPSBUcnVlCiAgICBpZiDlhaXkvrU6CiAgICAgICAgb25ib2FyZF9yZ2IucmFpbmJvd19jeWNsZSgxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-1 外接双红外测距-单头挥手速度测量.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-1 外接双红外测距-单头挥手速度测量.mix index 2cf6162b..6c996b77 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-1 外接双红外测距-单头挥手速度测量.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-1 外接双红外测距-单头挥手速度测量.mix @@ -1 +1 @@ -adc#13adc#14WHILETRUEGTadc1310000进入mstrueLTadc136000离开msTrueMixlyMINUS1离开1进入0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkKd2hpbGUgVHJ1ZToKICAgIGlmIGFkYzEzLnJlYWRfdTE2KCkgPiAxMDAwMDoKICAgICAgICDov5vlhaUgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTMucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDnprvlvIAgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnprvlvIAgLSDov5vlhaUsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +adc#13adc#14WHILETRUEGTadc1310000进入mstrueLTadc136000离开msTrueMixlyMINUS1离开1进入0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkKd2hpbGUgVHJ1ZToKICAgIGlmIGFkYzEzLnJlYWRfdTE2KCkgPiAxMDAwMDoKICAgICAgICDov5vlhaUgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTMucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDnprvlvIAgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnprvlvIAgLSDov5vlhaUsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-2 外接双红外测距-双头挥手速度测量.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-2 外接双红外测距-双头挥手速度测量.mix index ba8d6968..79cd3b35 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-2 外接双红外测距-双头挥手速度测量.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-2-2 外接双红外测距-双头挥手速度测量.mix @@ -1 +1 @@ -adc#13adc#14WHILETRUEGTadc1310000进入mstrueLTadc136000trueLTadc146000离开msTrueMixlyMINUS1离开1进入0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkKd2hpbGUgVHJ1ZToKICAgIGlmIGFkYzEzLnJlYWRfdTE2KCkgPiAxMDAwMDoKICAgICAgICDov5vlhaUgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTMucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTQucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDnprvlvIAgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnprvlvIAgLSDov5vlhaUsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +adc#13adc#14WHILETRUEGTadc1310000进入mstrueLTadc136000trueLTadc146000离开msTrueMixlyMINUS1离开1进入0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkKd2hpbGUgVHJ1ZToKICAgIGlmIGFkYzEzLnJlYWRfdTE2KCkgPiAxMDAwMDoKICAgICAgICDov5vlhaUgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTMucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTQucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDnprvlvIAgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnprvlvIAgLSDov5vlhaUsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-1 外接双红外测距-出入口分开公园人数统计.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-1 外接双红外测距-出入口分开公园人数统计.mix index 6b337d68..895881fe 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-1 外接双红外测距-出入口分开公园人数统计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-1 外接双红外测距-出入口分开公园人数统计.mix @@ -1 +1 @@ -adc#13adc#14人数0WHILETRUEGTadc1310000trueLTadc136000ADD人数1GTadc1410000trueGTadc146000MINUS人数1TrueMixly人数0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkK5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChhZGMxMy5yZWFkX3UxNigpIDwgNjAwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOS6uuaVsCArPSAxCiAgICBpZiBhZGMxNC5yZWFkX3UxNigpID4gMTAwMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKGFkYzE0LnJlYWRfdTE2KCkgPiA2MDAwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5Lq65pWwIC09IDEKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOS6uuaVsCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +adc#13adc#14人数0WHILETRUEGTadc1310000trueLTadc136000ADD人数1GTadc1410000trueGTadc146000MINUS人数1TrueMixly人数0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkK5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChhZGMxMy5yZWFkX3UxNigpIDwgNjAwMCk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIOS6uuaVsCArPSAxCiAgICBpZiBhZGMxNC5yZWFkX3UxNigpID4gMTAwMDA6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKGFkYzE0LnJlYWRfdTE2KCkgPiA2MDAwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5Lq65pWwIC09IDEKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOS6uuaVsCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-2 外接双红外测距-出入口统一公园人数统计.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-2 外接双红外测距-出入口统一公园人数统计.mix index fbf5fe06..051b67e3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-2 外接双红外测距-出入口统一公园人数统计.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-3-2 外接双红外测距-出入口统一公园人数统计.mix @@ -1 +1 @@ -adc#13adc#14人数0WHILETRUEGTadc1310000trueGTadc1410000trueLTadc146000ADD人数1GTadc1410000trueGTadc1310000trueLTadc136000MINUS人数1TrueMixly人数0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkK5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChhZGMxNC5yZWFkX3UxNigpID4gMTAwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTQucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDkurrmlbAgKz0gMQogICAgaWYgYWRjMTQucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChhZGMxMy5yZWFkX3UxNigpID4gMTAwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTMucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDkurrmlbAgLT0gMQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5Lq65pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +adc#13adc#14人数0WHILETRUEGTadc1310000trueGTadc1410000trueLTadc146000ADD人数1GTadc1410000trueGTadc1310000trueLTadc136000MINUS人数1TrueMixly人数0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxNCA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDE0KSkK5Lq65pWwID0gMAp3aGlsZSBUcnVlOgogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChhZGMxNC5yZWFkX3UxNigpID4gMTAwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTQucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDkurrmlbAgKz0gMQogICAgaWYgYWRjMTQucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChhZGMxMy5yZWFkX3UxNigpID4gMTAwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAoYWRjMTMucmVhZF91MTYoKSA8IDYwMDApOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICDkurrmlbAgLT0gMQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5Lq65pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-1 外接双红外测距-单探头倒车雷达模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-1 外接双红外测距-单探头倒车雷达模拟.mix index f3e2ff47..af2a03c2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-1 外接双红外测距-单探头倒车雷达模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-1 外接双红外测距-单探头倒车雷达模拟.mix @@ -1 +1 @@ -adc#13adc#14WHILETRUEdadc13GTadc13100006591000ZHENGCHU60000001dms1ZHENGCHU60000001dTrueMixlyd0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxNCkpCndoaWxlIFRydWU6CiAgICBkID0gYWRjMTMucmVhZF91MTYoKQogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksICg2MDAwMDAwIC8vIGQpKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKDYwMDAwMDAgLy8gZCkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhkLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +adc#13adc#14WHILETRUEdadc13GTadc13100006591000ZHENGCHU60000001dms1ZHENGCHU60000001dTrueMixlyd0TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxNCkpCndoaWxlIFRydWU6CiAgICBkID0gYWRjMTMucmVhZF91MTYoKQogICAgaWYgYWRjMTMucmVhZF91MTYoKSA+IDEwMDAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksICg2MDAwMDAwIC8vIGQpKQogICAgICAgIHRpbWUuc2xlZXBfbXMoKDYwMDAwMDAgLy8gZCkpCiAgICBvbmJvYXJkX3RmdC5zaG93cyhkLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-2 外接双红外测距-双探头倒车雷达模拟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-2 外接双红外测距-双探头倒车雷达模拟.mix index 5d431916..18a21273 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-2 外接双红外测距-双探头倒车雷达模拟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期8/4-4-2 外接双红外测距-双探头倒车雷达模拟.mix @@ -1 +1 @@ -adc#13adc#14WHILETRUEd1adc13d2adc14ORGTd110000GTd2100006591000ZHENGCHU60000001max1d1dd2ms1ZHENGCHU60000001max1d1dd2TrueMixly {} {}d1d20TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxNCkpCndoaWxlIFRydWU6CiAgICBkMSA9IGFkYzEzLnJlYWRfdTE2KCkKICAgIGQyID0gYWRjMTQucmVhZF91MTYoKQogICAgaWYgZDEgPiAxMDAwMCBvciBkMiA+IDEwMDAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksICg2MDAwMDAwIC8vIG1heChkMSwgZDIpKSkKICAgICAgICB0aW1lLnNsZWVwX21zKCg2MDAwMDAwIC8vIG1heChkMSwgZDIpKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCcge30gIHt9Jy5mb3JtYXQoZDEsIGQyKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +adc#13adc#14WHILETRUEd1adc13d2adc14ORGTd110000GTd2100006591000ZHENGCHU60000001max1d1dd2ms1ZHENGCHU60000001max1d1dd2TrueMixly {} {}d1d20TRUE{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgphZGMxMyA9IG1hY2hpbmUuQURDKG1hY2hpbmUuUGluKDEzKSkKYWRjMTQgPSBtYWNoaW5lLkFEQyhtYWNoaW5lLlBpbigxNCkpCndoaWxlIFRydWU6CiAgICBkMSA9IGFkYzEzLnJlYWRfdTE2KCkKICAgIGQyID0gYWRjMTQucmVhZF91MTYoKQogICAgaWYgZDEgPiAxMDAwMCBvciBkMiA+IDEwMDAwOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksICg2MDAwMDAwIC8vIG1heChkMSwgZDIpKSkKICAgICAgICB0aW1lLnNsZWVwX21zKCg2MDAwMDAwIC8vIG1heChkMSwgZDIpKSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCcge30gIHt9Jy5mb3JtYXQoZDEsIGQyKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-1 外接按键-双按键开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-1 外接按键-双按键开关灯.mix index 37b1f2fa..e3e8463c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-1 外接按键-双按键开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-1 外接按键-双按键开关灯.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUEpin11121pin21020{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQpwaW4yID0gbWFjaGluZS5QaW4oMiwgbWFjaGluZS5QaW4uSU4pCndoaWxlIFRydWU6CiAgICBpZiBwaW4xLnZhbHVlKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIHBpbjIudmFsdWUoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo=> \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUEpin11121pin21020{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQpwaW4yID0gbWFjaGluZS5QaW4oMiwgbWFjaGluZS5QaW4uSU4pCndoaWxlIFRydWU6CiAgICBpZiBwaW4xLnZhbHVlKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIHBpbjIudmFsdWUoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo=> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-2 外接按键-单按键开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-2 外接按键-单按键开关灯.mix index f22cdee9..d528c237 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-2 外接按键-单按键开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-1-2 外接按键-单按键开关灯.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUEpin1truems1pin11-1pin2truems1pin22-1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQpwaW4yID0gbWFjaGluZS5QaW4oMiwgbWFjaGluZS5QaW4uSU4pCndoaWxlIFRydWU6CiAgICBpZiBwaW4xLnZhbHVlKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxKQogICAgICAgICAgICBpZiAobm90IHBpbjEudmFsdWUoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsLTEpCiAgICBpZiBwaW4yLnZhbHVlKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxKQogICAgICAgICAgICBpZiAobm90IHBpbjIudmFsdWUoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsLTEpCg== \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUEpin1truems1pin11-1pin2truems1pin22-1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQpwaW4yID0gbWFjaGluZS5QaW4oMiwgbWFjaGluZS5QaW4uSU4pCndoaWxlIFRydWU6CiAgICBpZiBwaW4xLnZhbHVlKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxKQogICAgICAgICAgICBpZiAobm90IHBpbjEudmFsdWUoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsLTEpCiAgICBpZiBwaW4yLnZhbHVlKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdGltZS5zbGVlcF9tcygxKQogICAgICAgICAgICBpZiAobm90IHBpbjIudmFsdWUoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsLTEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-1 外接按键-打地鼠等待用户按键输入.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-1 外接按键-打地鼠等待用户按键输入.mix index 908b2c17..525ca1ac 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-1 外接按键-打地鼠等待用户按键输入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-1 外接按键-打地鼠等待用户按键输入.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1WHILETRUE11truepin110s1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAocGluMS52YWx1ZSgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMSkKe> \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1WHILETRUE11truepin110s1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAocGluMS52YWx1ZSgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgIHRpbWUuc2xlZXAoMSkKe> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-2 外接按键-打地鼠等待用户正确按键.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-2 外接按键-打地鼠等待用户正确按键.mix index 1f34814d..cc48f95b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-2 外接按键-打地鼠等待用户正确按键.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-2-2 外接按键-打地鼠等待用户正确按键.mix @@ -1 +1 @@ -双轻触按键连接到U2,使用IO3、IO4pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUE亮灯编号int121亮灯编号1EQ亮灯编号1truepin1truepin21亮灯编号0s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgpwaW4xID0gbWFjaGluZS5QaW4oMSwgbWFjaGluZS5QaW4uSU4pCnBpbjIgPSBtYWNoaW5lLlBpbigyLCBtYWNoaW5lLlBpbi5JTikKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIGlmIOS6rueBr+e8luWPtyA9PSAxOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChwaW4xLnZhbHVlKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgIGVsc2U6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKHBpbjIudmFsdWUoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +双轻触按键连接到U2,使用IO3、IO4pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUE亮灯编号int121亮灯编号1EQ亮灯编号1truepin1truepin21亮灯编号0s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgpwaW4xID0gbWFjaGluZS5QaW4oMSwgbWFjaGluZS5QaW4uSU4pCnBpbjIgPSBtYWNoaW5lLlBpbigyLCBtYWNoaW5lLlBpbi5JTikKd2hpbGUgVHJ1ZToKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIGlmIOS6rueBr+e8luWPtyA9PSAxOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChwaW4xLnZhbHVlKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgIGVsc2U6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKHBpbjIudmFsdWUoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-1 外接按键-打地鼠随机延时等待用户正确按键.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-1 外接按键-打地鼠随机延时等待用户正确按键.mix index ffa3b35a..97d8db85 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-1 外接按键-打地鼠随机延时等待用户正确按键.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-1 外接按键-打地鼠随机延时等待用户正确按键.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUEs1float12亮灯编号int121亮灯编号1trueORpin1pin2ORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号21亮灯编号0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgpwaW4xID0gbWFjaGluZS5QaW4oMSwgbWFjaGluZS5QaW4uSU4pCnBpbjIgPSBtYWNoaW5lLlBpbigyLCBtYWNoaW5lLlBpbi5JTikKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKHBpbjEudmFsdWUoKSBvciBwaW4yLnZhbHVlKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKHBpbjEudmFsdWUoKSBhbmQg5Lqu54Gv57yW5Y+3ID09IDEpIG9yIChwaW4yLnZhbHVlKCkgYW5kIOS6rueBr+e8luWPtyA9PSAyKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMCkKLqu54Gv57yW5Y+3LDApCg== \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin1machine.Pin.IN1pin2machine.Pin.IN2WHILETRUEs1float12亮灯编号int121亮灯编号1trueORpin1pin2ORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号21亮灯编号0{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgpwaW4xID0gbWFjaGluZS5QaW4oMSwgbWFjaGluZS5QaW4uSU4pCnBpbjIgPSBtYWNoaW5lLlBpbigyLCBtYWNoaW5lLlBpbi5JTikKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDEsIDIpKSkKICAgIOS6rueBr+e8luWPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMSkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKHBpbjEudmFsdWUoKSBvciBwaW4yLnZhbHVlKCkpOgogICAgICAgICAgICBicmVhawogICAgaWYgKHBpbjEudmFsdWUoKSBhbmQg5Lqu54Gv57yW5Y+3ID09IDEpIG9yIChwaW4yLnZhbHVlKCkgYW5kIOS6rueBr+e8luWPtyA9PSAyKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMCkKLqu54Gv57yW5Y+3LDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-2 外接按键-打地鼠随机带时等待用户正确按键.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-2 外接按键-打地鼠随机带时等待用户正确按键.mix index 5419921d..0f9b98cf 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-2 外接按键-打地鼠随机带时等待用户正确按键.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-3-2 外接按键-打地鼠随机带时等待用户正确按键.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin#machine.Pin.IN1pin#machine.Pin.IN2WHILETRUEs1float12亮灯编号int121亮灯编号1亮灯时间mstrueORpin1pin2ANDORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号2LTMINUS1ms1亮灯时间10002亮灯编号0informatio_picture.YESTRUE2亮灯编号0informatio_picture.NOTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBZRVMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KCnBpbjEgPSBtYWNoaW5lLlBpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe26Ze0ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChwaW4xLnZhbHVlKCkgb3IgcGluMi52YWx1ZSgpKToKICAgICAgICAgICAgYnJlYWsKICAgIGlmICgocGluMS52YWx1ZSgpIGFuZCDkuq7nga/nvJblj7cgPT0gMSkgb3IgKHBpbjIudmFsdWUoKSBhbmQg5Lqu54Gv57yW5Y+3ID09IDIpKSBhbmQgdGltZS50aWNrc19tcygpIC0g5Lqu54Gv5pe26Ze0IDwgMTAwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMCkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShZRVMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywwKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin#machine.Pin.IN1pin#machine.Pin.IN2WHILETRUEs1float12亮灯编号int121亮灯编号1亮灯时间mstrueORpin1pin2ANDORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号2LTMINUS1ms1亮灯时间10002亮灯编号0informatio_picture.YESTRUE2亮灯编号0informatio_picture.NOTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBZRVMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIGluZm9ybWF0aW9fcGljdHVyZSBpbXBvcnQgTk8KCnBpbjEgPSBtYWNoaW5lLlBpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMSwgMikpKQogICAg5Lqu54Gv57yW5Y+3ID0gcmFuZG9tLnJhbmRpbnQoMSwgMikKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAg5Lqu54Gv5pe26Ze0ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChwaW4xLnZhbHVlKCkgb3IgcGluMi52YWx1ZSgpKToKICAgICAgICAgICAgYnJlYWsKICAgIGlmICgocGluMS52YWx1ZSgpIGFuZCDkuq7nga/nvJblj7cgPT0gMSkgb3IgKHBpbjIudmFsdWUoKSBhbmQg5Lqu54Gv57yW5Y+3ID09IDIpKSBhbmQgdGltZS50aWNrc19tcygpIC0g5Lqu54Gv5pe26Ze0IDwgMTAwMDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/nvJblj7csMCkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShZRVMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywwKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-1 外接按键-打地鼠计分限时游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-1 外接按键-打地鼠计分限时游戏.mix index f5a2b018..93a0226a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-1 外接按键-打地鼠计分限时游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-1 外接按键-打地鼠计分限时游戏.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin#machine.Pin.IN1pin#machine.Pin.IN2游戏时长10000玩家得分0开始时间msWHILETRUEs1float0.51亮灯编号int121亮灯编号1trueORpin1pin21亮灯编号0LTMINUS1ms1开始时间游戏时长ORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号2ADD玩家得分1MINUS玩家得分1TrueMixly玩家得分0TRUETrueMixly游戏结束:Mixlyx玩家得分0TRUEBREAK{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCnBpbjEgPSBtYWNoaW5lLlBpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQrmuLjmiI/ml7bplb8gPSAxMDAwMArnjqnlrrblvpfliIYgPSAwCuW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMC41LCAxKSkpCiAgICDkuq7nga/nvJblj7cgPSByYW5kb20ucmFuZGludCgxLCAyKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChwaW4xLnZhbHVlKCkgb3IgcGluMi52YWx1ZSgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywwKQogICAgaWYgdGltZS50aWNrc19tcygpIC0g5byA5aeL5pe26Ze0IDwg5ri45oiP5pe26ZW/OgogICAgICAgIGlmIChwaW4xLnZhbHVlKCkgYW5kIOS6rueBr+e8luWPtyA9PSAxKSBvciAocGluMi52YWx1ZSgpIGFuZCDkuq7nga/nvJblj7cgPT0gMik6CiAgICAgICAgICAgIOeOqeWutuW+l+WIhiArPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAg546p5a625b6X5YiGIC09IDEKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnjqnlrrblvpfliIYsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4uOaIj+e7k+adn++8micgKyBzdHIo546p5a625b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGJyZWFrCg== \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin#machine.Pin.IN1pin#machine.Pin.IN2游戏时长10000玩家得分0开始时间msWHILETRUEs1float0.51亮灯编号int121亮灯编号1trueORpin1pin21亮灯编号0LTMINUS1ms1开始时间游戏时长ORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号2ADD玩家得分1MINUS玩家得分1TrueMixly玩家得分0TRUETrueMixly游戏结束:Mixlyx玩家得分0TRUEBREAK{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCnBpbjEgPSBtYWNoaW5lLlBpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQrmuLjmiI/ml7bplb8gPSAxMDAwMArnjqnlrrblvpfliIYgPSAwCuW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMC41LCAxKSkpCiAgICDkuq7nga/nvJblj7cgPSByYW5kb20ucmFuZGludCgxLCAyKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDEpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChwaW4xLnZhbHVlKCkgb3IgcGluMi52YWx1ZSgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywwKQogICAgaWYgdGltZS50aWNrc19tcygpIC0g5byA5aeL5pe26Ze0IDwg5ri45oiP5pe26ZW/OgogICAgICAgIGlmIChwaW4xLnZhbHVlKCkgYW5kIOS6rueBr+e8luWPtyA9PSAxKSBvciAocGluMi52YWx1ZSgpIGFuZCDkuq7nga/nvJblj7cgPT0gMik6CiAgICAgICAgICAgIOeOqeWutuW+l+WIhiArPSAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAg546p5a625b6X5YiGIC09IDEKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnjqnlrrblvpfliIYsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4uOaIj+e7k+adn++8micgKyBzdHIo546p5a625b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGJyZWFrCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-2 外接按键-打地鼠可重玩计分限时游戏.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-2 外接按键-打地鼠可重玩计分限时游戏.mix index 1f1f7d38..ef5d476a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-2 外接按键-打地鼠可重玩计分限时游戏.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/1-4-2 外接按键-打地鼠可重玩计分限时游戏.mix @@ -1 +1 @@ -双轻触按键连接到U1,使用IO1、IO2pin#machine.Pin.IN1pin#machine.Pin.IN2游戏开始FALSE游戏时长10000WHILETRUEB1key开始时间ms游戏开始TRUE玩家得分0True游戏开始0TRUE游戏开始s1float0.51亮灯编号int121亮灯编号1trueORpin1pin21亮灯编号0LTMINUS1ms1开始时间游戏时长ORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号2ADD玩家得分1MINUS玩家得分1TrueMixly玩家得分0TRUETrueMixly游戏结束:Mixlyx玩家得分0TRUE游戏开始FALSE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCnBpbjEgPSBtYWNoaW5lLlBpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQrmuLjmiI/lvIDlp4sgPSBGYWxzZQrmuLjmiI/ml7bplb8gPSAxMDAwMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICDnjqnlrrblvpfliIYgPSAwCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4uOaIj+W8gOWniycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLjUsIDEpKSkKICAgICAgICDkuq7nga/nvJblj7cgPSByYW5kb20ucmFuZGludCgxLCAyKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChwaW4xLnZhbHVlKCkgb3IgcGluMi52YWx1ZSgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5byA5aeL5pe26Ze0IDwg5ri45oiP5pe26ZW/OgogICAgICAgICAgICBpZiAocGluMS52YWx1ZSgpIGFuZCDkuq7nga/nvJblj7cgPT0gMSkgb3IgKHBpbjIudmFsdWUoKSBhbmQg5Lqu54Gv57yW5Y+3ID09IDIpOgogICAgICAgICAgICAgICAg546p5a625b6X5YiGICs9IDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIOeOqeWutuW+l+WIhiAtPSAxCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOeOqeWutuW+l+WIhiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmuLjmiI/nu5PmnZ/vvJonICsgc3RyKOeOqeWutuW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UK \ No newline at end of file +双轻触按键连接到U1,使用IO1、IO2pin#machine.Pin.IN1pin#machine.Pin.IN2游戏开始FALSE游戏时长10000WHILETRUEB1key开始时间ms游戏开始TRUE玩家得分0True游戏开始0TRUE游戏开始s1float0.51亮灯编号int121亮灯编号1trueORpin1pin21亮灯编号0LTMINUS1ms1开始时间游戏时长ORANDpin1EQ亮灯编号1ANDpin2EQ亮灯编号2ADD玩家得分1MINUS玩家得分1TrueMixly玩家得分0TRUETrueMixly游戏结束:Mixlyx玩家得分0TRUE游戏开始FALSE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCnBpbjEgPSBtYWNoaW5lLlBpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQrmuLjmiI/lvIDlp4sgPSBGYWxzZQrmuLjmiI/ml7bplb8gPSAxMDAwMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIOa4uOaIj+W8gOWniyA9IFRydWUKICAgICAgICDnjqnlrrblvpfliIYgPSAwCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4uOaIj+W8gOWniycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLjUsIDEpKSkKICAgICAgICDkuq7nga/nvJblj7cgPSByYW5kb20ucmFuZGludCgxLCAyKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywxKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGlmIChwaW4xLnZhbHVlKCkgb3IgcGluMi52YWx1ZSgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDApCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5byA5aeL5pe26Ze0IDwg5ri45oiP5pe26ZW/OgogICAgICAgICAgICBpZiAocGluMS52YWx1ZSgpIGFuZCDkuq7nga/nvJblj7cgPT0gMSkgb3IgKHBpbjIudmFsdWUoKSBhbmQg5Lqu54Gv57yW5Y+3ID09IDIpOgogICAgICAgICAgICAgICAg546p5a625b6X5YiGICs9IDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIOeOqeWutuW+l+WIhiAtPSAxCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOeOqeWutuW+l+WIhiwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmuLjmiI/nu5PmnZ/vvJonICsgc3RyKOeOqeWutuW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-1 外接彩灯-外接红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-1 外接彩灯-外接红绿灯.mix index fcfdb9a2..ea66582c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-1 外接彩灯-外接红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-1 外接彩灯-外接红绿灯.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9pin#machine.Pin.OUT10pin#machine.Pin.OUT11WHILETRUEpin9HIGHpin10LOWpin11LOWs1pin9HIGHpin10HIGHpin11LOWs1pin9LOWpin10LOWpin11HIGHs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCnBpbjkgPSBtYWNoaW5lLlBpbig5LCBtYWNoaW5lLlBpbi5PVVQpCnBpbjEwID0gbWFjaGluZS5QaW4oMTAsIG1hY2hpbmUuUGluLk9VVCkKcGluMTEgPSBtYWNoaW5lLlBpbigxMSwgbWFjaGluZS5QaW4uT1VUKQp3aGlsZSBUcnVlOgogICAgcGluOS52YWx1ZSgxKQogICAgcGluMTAudmFsdWUoMCkKICAgIHBpbjExLnZhbHVlKDApCiAgICB0aW1lLnNsZWVwKDEpCiAgICBwaW45LnZhbHVlKDEpCiAgICBwaW4xMC52YWx1ZSgxKQogICAgcGluMTEudmFsdWUoMCkKICAgIHRpbWUuc2xlZXAoMSkKICAgIHBpbjkudmFsdWUoMCkKICAgIHBpbjEwLnZhbHVlKDApCiAgICBwaW4xMS52YWx1ZSgxKQogICAgdGltZS5zbGVlcCgxKQo=/code> \ No newline at end of file +红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9pin#machine.Pin.OUT10pin#machine.Pin.OUT11WHILETRUEpin9HIGHpin10LOWpin11LOWs1pin9HIGHpin10HIGHpin11LOWs1pin9LOWpin10LOWpin11HIGHs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKCnBpbjkgPSBtYWNoaW5lLlBpbig5LCBtYWNoaW5lLlBpbi5PVVQpCnBpbjEwID0gbWFjaGluZS5QaW4oMTAsIG1hY2hpbmUuUGluLk9VVCkKcGluMTEgPSBtYWNoaW5lLlBpbigxMSwgbWFjaGluZS5QaW4uT1VUKQp3aGlsZSBUcnVlOgogICAgcGluOS52YWx1ZSgxKQogICAgcGluMTAudmFsdWUoMCkKICAgIHBpbjExLnZhbHVlKDApCiAgICB0aW1lLnNsZWVwKDEpCiAgICBwaW45LnZhbHVlKDEpCiAgICBwaW4xMC52YWx1ZSgxKQogICAgcGluMTEudmFsdWUoMCkKICAgIHRpbWUuc2xlZXAoMSkKICAgIHBpbjkudmFsdWUoMCkKICAgIHBpbjEwLnZhbHVlKDApCiAgICBwaW4xMS52YWx1ZSgxKQogICAgdGltZS5zbGVlcCgxKQo=/code> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-2 外接彩灯-按键红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-2 外接彩灯-按键红绿灯.mix index 41440cd7..c9f785df 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-2 外接彩灯-按键红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-1-2 外接彩灯-按键红绿灯.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9pin#machine.Pin.OUT10pin#machine.Pin.OUT11WHILETRUEANDB1keyB2keypin9LOWpin10LOWpin11HIGHpin9HIGHB1keypin10LOWB2keypin11LOW{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKCnBpbjkgPSBtYWNoaW5lLlBpbig5LCBtYWNoaW5lLlBpbi5PVVQpCnBpbjEwID0gbWFjaGluZS5QaW4oMTAsIG1hY2hpbmUuUGluLk9VVCkKcGluMTEgPSBtYWNoaW5lLlBpbigxMSwgbWFjaGluZS5QaW4uT1VUKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgYW5kIG1peGdvX3NhbnQuQjJrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIHBpbjkudmFsdWUoMCkKICAgICAgICBwaW4xMC52YWx1ZSgwKQogICAgICAgIHBpbjExLnZhbHVlKDEpCiAgICBlbHNlOgogICAgICAgIHBpbjkudmFsdWUobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpCiAgICAgICAgcGluMTAudmFsdWUobWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpCiAgICAgICAgcGluMTEudmFsdWUoMCkKpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQpwaW45ID0gbWFjaGluZS5QaW4oOSwgbWFjaGluZS5QaW4uT1VUKQpwaW4xMCA9IG1hY2hpbmUuUGluKDEwLCBtYWNoaW5lLlBpbi5PVVQpCnBpbjExID0gbWFjaGluZS5QaW4oMTEsIG1hY2hpbmUuUGluLk9VVCkKd2hpbGUgVHJ1ZToKICAgIGlmIHBpbjIudmFsdWUoKSBhbmQgcGluMS52YWx1ZSgpOgogICAgICAgIHBpbjkudmFsdWUoMCkKICAgICAgICBwaW4xMC52YWx1ZSgwKQogICAgICAgIHBpbjExLnZhbHVlKDEpCiAgICBlbHNlOgogICAgICAgIHBpbjkudmFsdWUocGluMS52YWx1ZSgpKQogICAgICAgIHBpbjEwLnZhbHVlKHBpbjIudmFsdWUoKSkKICAgICAgICBwaW4xMS52YWx1ZSgwKQo=AgICAgICBwaW41LnZhbHVlKDApCg== \ No newline at end of file +红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9pin#machine.Pin.OUT10pin#machine.Pin.OUT11WHILETRUEANDB1keyB2keypin9LOWpin10LOWpin11HIGHpin9HIGHB1keypin10LOWB2keypin11LOW{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKCnBpbjkgPSBtYWNoaW5lLlBpbig5LCBtYWNoaW5lLlBpbi5PVVQpCnBpbjEwID0gbWFjaGluZS5QaW4oMTAsIG1hY2hpbmUuUGluLk9VVCkKcGluMTEgPSBtYWNoaW5lLlBpbigxMSwgbWFjaGluZS5QaW4uT1VUKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgYW5kIG1peGdvX3NhbnQuQjJrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIHBpbjkudmFsdWUoMCkKICAgICAgICBwaW4xMC52YWx1ZSgwKQogICAgICAgIHBpbjExLnZhbHVlKDEpCiAgICBlbHNlOgogICAgICAgIHBpbjkudmFsdWUobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpCiAgICAgICAgcGluMTAudmFsdWUobWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpCiAgICAgICAgcGluMTEudmFsdWUoMCkKpbigxLCBtYWNoaW5lLlBpbi5JTikKcGluMiA9IG1hY2hpbmUuUGluKDIsIG1hY2hpbmUuUGluLklOKQpwaW45ID0gbWFjaGluZS5QaW4oOSwgbWFjaGluZS5QaW4uT1VUKQpwaW4xMCA9IG1hY2hpbmUuUGluKDEwLCBtYWNoaW5lLlBpbi5PVVQpCnBpbjExID0gbWFjaGluZS5QaW4oMTEsIG1hY2hpbmUuUGluLk9VVCkKd2hpbGUgVHJ1ZToKICAgIGlmIHBpbjIudmFsdWUoKSBhbmQgcGluMS52YWx1ZSgpOgogICAgICAgIHBpbjkudmFsdWUoMCkKICAgICAgICBwaW4xMC52YWx1ZSgwKQogICAgICAgIHBpbjExLnZhbHVlKDEpCiAgICBlbHNlOgogICAgICAgIHBpbjkudmFsdWUocGluMS52YWx1ZSgpKQogICAgICAgIHBpbjEwLnZhbHVlKHBpbjIudmFsdWUoKSkKICAgICAgICBwaW4xMS52YWx1ZSgwKQo=AgICAgICBwaW41LnZhbHVlKDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-1 外接彩灯-入侵灯光报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-1 外接彩灯-入侵灯光报警.mix index 6fb1d15c..c6688de4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-1 外接彩灯-入侵灯光报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-1 外接彩灯-入侵灯光报警.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9入侵FALSEWHILETRUEGTl50入侵TRUE入侵pin9HIGHs0.1pin9LOWs0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCgpwaW45ID0gbWFjaGluZS5QaW4oOSwgbWFjaGluZS5QaW4uT1VUKQrlhaXkvrUgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gNTA6CiAgICAgICAg5YWl5L61ID0gVHJ1ZQogICAgaWYg5YWl5L61OgogICAgICAgIHBpbjkudmFsdWUoMSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBwaW45LnZhbHVlKDApCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg==block>{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCgpwaW4xID0gbWFjaGluZS5QaW4oMSwgbWFjaGluZS5QaW4uSU4pCnBpbjIgPSBtYWNoaW5lLlBpbigyLCBtYWNoaW5lLlBpbi5JTikKcGluOSA9IG1hY2hpbmUuUGluKDksIG1hY2hpbmUuUGluLk9VVCkK5YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDUwOgogICAgICAgIOWFpeS+tSA9IFRydWUKICAgIGlmIOWFpeS+tToKICAgICAgICBwaW45LnZhbHVlKDEpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgcGluOS52YWx1ZSgwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=ZXAoMC4xKQo= \ No newline at end of file +红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9入侵FALSEWHILETRUEGTl50入侵TRUE入侵pin9HIGHs0.1pin9LOWs0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCgpwaW45ID0gbWFjaGluZS5QaW4oOSwgbWFjaGluZS5QaW4uT1VUKQrlhaXkvrUgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gNTA6CiAgICAgICAg5YWl5L61ID0gVHJ1ZQogICAgaWYg5YWl5L61OgogICAgICAgIHBpbjkudmFsdWUoMSkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBwaW45LnZhbHVlKDApCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCg==block>{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCB0aW1lCgpwaW4xID0gbWFjaGluZS5QaW4oMSwgbWFjaGluZS5QaW4uSU4pCnBpbjIgPSBtYWNoaW5lLlBpbigyLCBtYWNoaW5lLlBpbi5JTikKcGluOSA9IG1hY2hpbmUuUGluKDksIG1hY2hpbmUuUGluLk9VVCkK5YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDUwOgogICAgICAgIOWFpeS+tSA9IFRydWUKICAgIGlmIOWFpeS+tToKICAgICAgICBwaW45LnZhbHVlKDEpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgcGluOS52YWx1ZSgwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=ZXAoMC4xKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-2 外接彩灯-入侵声光报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-2 外接彩灯-入侵声光报警.mix index b8478f81..323df091 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-2 外接彩灯-入侵声光报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-2-2 外接彩灯-入侵声光报警.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9入侵FALSEWHILETRUEGTl50入侵TRUEB1key入侵FALSE入侵pin9HIGH988100pin9LOWs0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKcGluOSA9IG1hY2hpbmUuUGluKDksIG1hY2hpbmUuUGluLk9VVCkK5YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDUwOgogICAgICAgIOWFpeS+tSA9IFRydWUKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhaXkvrUgPSBGYWxzZQogICAgaWYg5YWl5L61OgogICAgICAgIHBpbjkudmFsdWUoMSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgcGluOS52YWx1ZSgwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=ode>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQpwaW4yID0gbWFjaGluZS5QaW4oMiwgbWFjaGluZS5QaW4uSU4pCnBpbjkgPSBtYWNoaW5lLlBpbig5LCBtYWNoaW5lLlBpbi5PVVQpCuWFpeS+tSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiA1MDoKICAgICAgICDlhaXkvrUgPSBUcnVlCiAgICBpZiBwaW4xLnZhbHVlKCk6CiAgICAgICAg5YWl5L61ID0gRmFsc2UKICAgIGlmIOWFpeS+tToKICAgICAgICBwaW45LnZhbHVlKDEpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIHBpbjkudmFsdWUoMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKZWVwKDAuMSkK \ No newline at end of file +红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pin#machine.Pin.OUT9入侵FALSEWHILETRUEGTl50入侵TRUEB1key入侵FALSE入侵pin9HIGH988100pin9LOWs0.1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKcGluOSA9IG1hY2hpbmUuUGluKDksIG1hY2hpbmUuUGluLk9VVCkK5YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDUwOgogICAgICAgIOWFpeS+tSA9IFRydWUKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlhaXkvrUgPSBGYWxzZQogICAgaWYg5YWl5L61OgogICAgICAgIHBpbjkudmFsdWUoMSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgcGluOS52YWx1ZSgwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQo=ode>aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKcGluMSA9IG1hY2hpbmUuUGluKDEsIG1hY2hpbmUuUGluLklOKQpwaW4yID0gbWFjaGluZS5QaW4oMiwgbWFjaGluZS5QaW4uSU4pCnBpbjkgPSBtYWNoaW5lLlBpbig5LCBtYWNoaW5lLlBpbi5PVVQpCuWFpeS+tSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiA1MDoKICAgICAgICDlhaXkvrUgPSBUcnVlCiAgICBpZiBwaW4xLnZhbHVlKCk6CiAgICAgICAg5YWl5L61ID0gRmFsc2UKICAgIGlmIOWFpeS+tToKICAgICAgICBwaW45LnZhbHVlKDEpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgIHBpbjkudmFsdWUoMCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-1 外接彩灯加电位器-呼吸灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-1 外接彩灯加电位器-呼吸灯.mix index f54efc64..7458d59c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-1 外接彩灯加电位器-呼吸灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-1 外接彩灯加电位器-呼吸灯.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9WHILETRUE0,1,2,30655361ipwm90i0,1,2,365535-1-1ipwm90i{}aW1wb3J0IG1hY2hpbmUKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKd2hpbGUgVHJ1ZToKICAgIGZvciBpIGluIHJhbmdlKDAsIDY1NTM2LCAxKToKICAgICAgICBwd205LmR1dHlfdTE2KGkpCiAgICBmb3IgaSBpbiByYW5nZSg2NTUzNSwgLTEsIC0xKToKICAgICAgICBwd205LmR1dHlfdTE2KGkpCg==dXR5X3UxNihpKQo= \ No newline at end of file +红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9WHILETRUE0,1,2,30655361ipwm90i0,1,2,365535-1-1ipwm90i{}aW1wb3J0IG1hY2hpbmUKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKd2hpbGUgVHJ1ZToKICAgIGZvciBpIGluIHJhbmdlKDAsIDY1NTM2LCAxKToKICAgICAgICBwd205LmR1dHlfdTE2KGkpCiAgICBmb3IgaSBpbiByYW5nZSg2NTUzNSwgLTEsIC0xKToKICAgICAgICBwd205LmR1dHlfdTE2KGkpCg==dXR5X3UxNihpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-2 外接彩灯-白光呼吸灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-2 外接彩灯-白光呼吸灯.mix index 3611eb0f..e15c89cb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-2 外接彩灯-白光呼吸灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-3-2 外接彩灯-白光呼吸灯.mix @@ -1 +1 @@ -红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9pwm#10pwm#11WHILETRUE0,1,2,30655361ipwm90ipwm100ipwm110i0,1,2,365535-1-1ipwm90ipwm100ipwm110i{}aW1wb3J0IG1hY2hpbmUKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKcHdtMTAgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbigxMCkpCnB3bTExID0gbWFjaGluZS5QV00obWFjaGluZS5QaW4oMTEpKQp3aGlsZSBUcnVlOgogICAgZm9yIGkgaW4gcmFuZ2UoMCwgNjU1MzYsIDEpOgogICAgICAgIHB3bTkuZHV0eV91MTYoaSkKICAgICAgICBwd20xMC5kdXR5X3UxNihpKQogICAgICAgIHB3bTExLmR1dHlfdTE2KGkpCiAgICBmb3IgaSBpbiByYW5nZSg2NTUzNSwgLTEsIC0xKToKICAgICAgICBwd205LmR1dHlfdTE2KGkpCiAgICAgICAgcHdtMTAuZHV0eV91MTYoaSkKICAgICAgICBwd20xMS5kdXR5X3UxNihpKQo=de> \ No newline at end of file +红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9pwm#10pwm#11WHILETRUE0,1,2,30655361ipwm90ipwm100ipwm110i0,1,2,365535-1-1ipwm90ipwm100ipwm110i{}aW1wb3J0IG1hY2hpbmUKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKcHdtMTAgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbigxMCkpCnB3bTExID0gbWFjaGluZS5QV00obWFjaGluZS5QaW4oMTEpKQp3aGlsZSBUcnVlOgogICAgZm9yIGkgaW4gcmFuZ2UoMCwgNjU1MzYsIDEpOgogICAgICAgIHB3bTkuZHV0eV91MTYoaSkKICAgICAgICBwd20xMC5kdXR5X3UxNihpKQogICAgICAgIHB3bTExLmR1dHlfdTE2KGkpCiAgICBmb3IgaSBpbiByYW5nZSg2NTUzNSwgLTEsIC0xKToKICAgICAgICBwd205LmR1dHlfdTE2KGkpCiAgICAgICAgcHdtMTAuZHV0eV91MTYoaSkKICAgICAgICBwd20xMS5kdXR5X3UxNihpKQo=de> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-1 外接彩灯加电位器-可调台灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-1 外接彩灯加电位器-可调台灯.mix index b602736b..439faab7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-1 外接彩灯加电位器-可调台灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-1 外接彩灯加电位器-可调台灯.mix @@ -1 +1 @@ -拨轮电位器连接到U2,使用IO5,红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9pwm#10pwm#11adc#5machine.ADC.ATTN_11DBadc5WHILETRUEpwm90adc5pwm100adc5pwm110adc5{}aW1wb3J0IG1hY2hpbmUKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKcHdtMTAgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbigxMCkpCnB3bTExID0gbWFjaGluZS5QV00obWFjaGluZS5QaW4oMTEpKQphZGM1ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oNSkpCmFkYzUuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQp3aGlsZSBUcnVlOgogICAgcHdtOS5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCiAgICBwd20xMC5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCiAgICBwd20xMS5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCg== \ No newline at end of file +拨轮电位器连接到U2,使用IO5,红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9pwm#10pwm#11adc#5machine.ADC.ATTN_11DBadc5WHILETRUEpwm90adc5pwm100adc5pwm110adc5{}aW1wb3J0IG1hY2hpbmUKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKcHdtMTAgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbigxMCkpCnB3bTExID0gbWFjaGluZS5QV00obWFjaGluZS5QaW4oMTEpKQphZGM1ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oNSkpCmFkYzUuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQp3aGlsZSBUcnVlOgogICAgcHdtOS5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCiAgICBwd20xMC5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCiAgICBwd20xMS5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-2 外接彩灯加电位器-带开关可调台灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-2 外接彩灯加电位器-带开关可调台灯.mix index 3892dcc3..9212f233 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-2 外接彩灯加电位器-带开关可调台灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/2-4-2 外接彩灯加电位器-带开关可调台灯.mix @@ -1 +1 @@ -拨轮电位器连接到U2,使用IO5,红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9pwm#10pwm#11adc#5machine.ADC.ATTN_11DBadc5开关FALSEWHILETRUEB1key开关开关开关pwm90adc5pwm100adc5pwm110adc5pwm90pwm100pwm110{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKcHdtMTAgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbigxMCkpCnB3bTExID0gbWFjaGluZS5QV00obWFjaGluZS5QaW4oMTEpKQphZGM1ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oNSkpCmFkYzUuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQrlvIDlhbMgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWFsyA9IG5vdCDlvIDlhbMKICAgIGlmIOW8gOWFszoKICAgICAgICBwd205LmR1dHlfdTE2KGFkYzUucmVhZF91MTYoKSkKICAgICAgICBwd20xMC5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCiAgICAgICAgcHdtMTEuZHV0eV91MTYoYWRjNS5yZWFkX3UxNigpKQogICAgZWxzZToKICAgICAgICBwd205LmR1dHlfdTE2KDApCiAgICAgICAgcHdtMTAuZHV0eV91MTYoMCkKICAgICAgICBwd20xMS5kdXR5X3UxNigwKQo= \ No newline at end of file +拨轮电位器连接到U2,使用IO5,红绿蓝彩灯连接到U3,使用IO9、IO10、IO11pwm#9pwm#10pwm#11adc#5machine.ADC.ATTN_11DBadc5开关FALSEWHILETRUEB1key开关开关开关pwm90adc5pwm100adc5pwm110adc5pwm90pwm100pwm110{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKCnB3bTkgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbig5KSkKcHdtMTAgPSBtYWNoaW5lLlBXTShtYWNoaW5lLlBpbigxMCkpCnB3bTExID0gbWFjaGluZS5QV00obWFjaGluZS5QaW4oMTEpKQphZGM1ID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oNSkpCmFkYzUuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQrlvIDlhbMgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWFsyA9IG5vdCDlvIDlhbMKICAgIGlmIOW8gOWFszoKICAgICAgICBwd205LmR1dHlfdTE2KGFkYzUucmVhZF91MTYoKSkKICAgICAgICBwd20xMC5kdXR5X3UxNihhZGM1LnJlYWRfdTE2KCkpCiAgICAgICAgcHdtMTEuZHV0eV91MTYoYWRjNS5yZWFkX3UxNigpKQogICAgZWxzZToKICAgICAgICBwd205LmR1dHlfdTE2KDApCiAgICAgICAgcHdtMTAuZHV0eV91MTYoMCkKICAgICAgICBwd20xMS5kdXR5X3UxNigwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-1 外接颜色传感器-颜色传感器测试.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-1 外接颜色传感器-颜色传感器测试.mix index dcf4cfc5..8868d65c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-1 外接颜色传感器-颜色传感器测试.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-1 外接颜色传感器-颜色传感器测试.mix @@ -1 +1 @@ -颜色传感器连接到U1,使用IO1,IO2,IO3i2c_extend12100000UCS12071i2c_extendxsensorWHILETRUEMixly[2]xsensors1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHVjczEyMDcxCmltcG9ydCBsdHIzODFyZ2IKaW1wb3J0IHRpbWUKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSB1Y3MxMjA3MS5VQ1MxMjA3MShpMmNfZXh0ZW5kKQp3aGlsZSBUcnVlOgogICAgcHJpbnQoeHNlbnNvci5nZXRkYXRhKClbMl0pCiAgICB0aW1lLnNsZWVwKDEpCg==AgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +颜色传感器连接到U1,使用IO1,IO2,IO3i2c_extend12100000UCS12071i2c_extendxsensorWHILETRUEMixly[2]xsensors1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHVjczEyMDcxCmltcG9ydCBsdHIzODFyZ2IKaW1wb3J0IHRpbWUKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSB1Y3MxMjA3MS5VQ1MxMjA3MShpMmNfZXh0ZW5kKQp3aGlsZSBUcnVlOgogICAgcHJpbnQoeHNlbnNvci5nZXRkYXRhKClbMl0pCiAgICB0aW1lLnNsZWVwKDEpCg==AgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-2 外接颜色传感器-颜色传感器简单应用.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-2 外接颜色传感器-颜色传感器简单应用.mix index 28920923..38d3fa84 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-2 外接颜色传感器-颜色传感器简单应用.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-1-2 外接颜色传感器-颜色传感器简单应用.mix @@ -1 +1 @@ -颜色传感器连接到U1,使用IO1,IO2,IO3i2c_extend12100000UCS12071i2c_extendxsensorWHILETRUEcolorsx[2]xsensorMixlycolorsRcolors0Gcolors1Bcolors2ANDGTRGGTRB偏红ANDGTGBGTGB偏绿ANDGTBGGTBR偏蓝s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHVjczEyMDcxCmltcG9ydCBsdHIzODFyZ2IKaW1wb3J0IHRpbWUKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSB1Y3MxMjA3MS5VQ1MxMjA3MShpMmNfZXh0ZW5kKQp3aGlsZSBUcnVlOgogICAgY29sb3JzID0gdHVwbGUoeHNlbnNvci5nZXRkYXRhKClbMl0pCiAgICBwcmludChjb2xvcnMpCiAgICBSID0gY29sb3JzWzBdCiAgICBHID0gY29sb3JzWzFdCiAgICBCID0gY29sb3JzWzJdCiAgICBpZiBSID4gRyBhbmQgUiA+IEI6CiAgICAgICAgcHJpbnQoJ+WBj+e6oicpCiAgICBpZiBHID4gQiBhbmQgRyA+IEI6CiAgICAgICAgcHJpbnQoJ+WBj+e7vycpCiAgICBpZiBCID4gRyBhbmQgQiA+IFI6CiAgICAgICAgcHJpbnQoJ+WBj+iTnScpCiAgICB0aW1lLnNsZWVwKDEpCg==AgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +颜色传感器连接到U1,使用IO1,IO2,IO3i2c_extend12100000UCS12071i2c_extendxsensorWHILETRUEcolorsx[2]xsensorMixlycolorsRcolors0Gcolors1Bcolors2ANDGTRGGTRB偏红ANDGTGBGTGB偏绿ANDGTBGGTBR偏蓝s1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHVjczEyMDcxCmltcG9ydCBsdHIzODFyZ2IKaW1wb3J0IHRpbWUKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSB1Y3MxMjA3MS5VQ1MxMjA3MShpMmNfZXh0ZW5kKQp3aGlsZSBUcnVlOgogICAgY29sb3JzID0gdHVwbGUoeHNlbnNvci5nZXRkYXRhKClbMl0pCiAgICBwcmludChjb2xvcnMpCiAgICBSID0gY29sb3JzWzBdCiAgICBHID0gY29sb3JzWzFdCiAgICBCID0gY29sb3JzWzJdCiAgICBpZiBSID4gRyBhbmQgUiA+IEI6CiAgICAgICAgcHJpbnQoJ+WBj+e6oicpCiAgICBpZiBHID4gQiBhbmQgRyA+IEI6CiAgICAgICAgcHJpbnQoJ+WBj+e7vycpCiAgICBpZiBCID4gRyBhbmQgQiA+IFI6CiAgICAgICAgcHJpbnQoJ+WBj+iTnScpCiAgICB0aW1lLnNsZWVwKDEpCg==AgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-1 外接微波传感器-人体感应灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-1 外接微波传感器-人体感应灯.mix index 4b56f5c7..83ffae92 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-1 外接微波传感器-人体感应灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-1 外接微波传感器-人体感应灯.mix @@ -1,2 +1,2 @@ -微波雷达块 +微波雷达块 连接到U1,IO1、IO2管脚,延时时间表示人走后依然保持返回为真多长时间i2c_extend12100000CBR817i2c_extendxsensorxsensor50002000WHILETRUExsensor11211020{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNicjgxNwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgppMmNfZXh0ZW5kID0gbWFjaGluZS5Tb2Z0STJDKHNjbCA9IG1hY2hpbmUuUGluKDEpLCBzZGE9bWFjaGluZS5QaW4oMiksIGZyZXE9MTAwMDAwKQp4c2Vuc29yID0gY2JyODE3LkNCUjgxNyhpMmNfZXh0ZW5kKQp4c2Vuc29yLnRocmVzaG9sZCg1MDAwKQp4c2Vuc29yLmRlbGF5X21zKDIwMDApCndoaWxlIFRydWU6CiAgICBpZiB4c2Vuc29yLnJlc3VsdCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg==MSwwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-2 外接微波传感器-可变人体感应灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-2 外接微波传感器-可变人体感应灯.mix index 8d3934be..3fd77f51 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-2 外接微波传感器-可变人体感应灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-2-2 外接微波传感器-可变人体感应灯.mix @@ -1,2 +1,2 @@ -微波雷达块 +微波雷达块 连接到U1,IO1、IO2管脚,延时时间表示人走后依然保持返回为真多长时间i2c_extend12100000CBR817i2c_extendxsensor延时秒数2xsensor50002000MULTIPLY1延时秒数200TrueMixly延时秒数0TRUEWHILETRUEB1keyADDa延时秒数1xsensor50002000MULTIPLY1延时秒数1000TrueMixly延时秒数0TRUEB2keyMINUSa延时秒数1延时秒数max12延时秒数TrueMixly延时秒数0TRUExsensor50002000MULTIPLY1延时秒数1000xsensor11211020{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNicjgxNwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSBjYnI4MTcuQ0JSODE3KGkyY19leHRlbmQpCuW7tuaXtuenkuaVsCA9IDIKeHNlbnNvci50aHJlc2hvbGQoNTAwMCkKeHNlbnNvci5kZWxheV9tcygo5bu25pe256eS5pWwICogMjAwKSkKb25ib2FyZF90ZnQuc2hvd3Mo5bu25pe256eS5pWwLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5bu25pe256eS5pWwICs9IDEKICAgICAgICB4c2Vuc29yLnRocmVzaG9sZCg1MDAwKQogICAgICAgIHhzZW5zb3IuZGVsYXlfbXMoKOW7tuaXtuenkuaVsCAqIDEwMDApKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOW7tuaXtuenkuaVsCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW7tuaXtuenkuaVsCAtPSAxCiAgICAgICAg5bu25pe256eS5pWwID0gbWF4KDEsIOW7tuaXtuenkuaVsCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjlu7bml7bnp5LmlbAsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB4c2Vuc29yLnRocmVzaG9sZCg1MDAwKQogICAgICAgIHhzZW5zb3IuZGVsYXlfbXMoKOW7tuaXtuenkuaVsCAqIDEwMDApKQogICAgaWYgeHNlbnNvci5yZXN1bHQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-1 外接舵机-按键开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-1 外接舵机-按键开门.mix index 344a5ae7..8c88222b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-1 外接舵机-按键开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-1 外接舵机-按键开门.mix @@ -1 +1 @@ -舵机连接到杜邦口IO15、具体连接是,SANT背板朝上,从上往下0 1 2 3 舵机连接到1 2 3 杜邦口,线序是黄 红 褐150WHILETRUEB1key1590B2key150{}aW1wb3J0IHNlcnZvCmltcG9ydCBtaXhnb19zYW50CgpzZXJ2by5zZXJ2bzE4MF9hbmdsZSgxNSwgMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBzZXJ2by5zZXJ2bzE4MF9hbmdsZSgxNSwgOTApCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc2Vydm8uc2Vydm8xODBfYW5nbGUoMTUsIDApCg==ode> \ No newline at end of file +舵机连接到杜邦口IO15、具体连接是,SANT背板朝上,从上往下0 1 2 3 舵机连接到1 2 3 杜邦口,线序是黄 红 褐150WHILETRUEB1key1590B2key150{}aW1wb3J0IHNlcnZvCmltcG9ydCBtaXhnb19zYW50CgpzZXJ2by5zZXJ2bzE4MF9hbmdsZSgxNSwgMCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBzZXJ2by5zZXJ2bzE4MF9hbmdsZSgxNSwgOTApCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgc2Vydm8uc2Vydm8xODBfYW5nbGUoMTUsIDApCg==ode> \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-2 外接舵机+电位器-助力旋转.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-2 外接舵机+电位器-助力旋转.mix index 353e2a38..9bbbab56 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-2 外接舵机+电位器-助力旋转.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-3-2 外接舵机+电位器-助力旋转.mix @@ -1 +1 @@ -拨轮电位器连接到U3,使用IO1,舵机连接到杜邦口IO15、具体连接是,SANT背板朝上,从上往下0 1 2 3 舵机连接到1 2 3 杜邦口,线序是黄 红 褐adc#1machine.ADC.ATTN_11DBadc130WHILETRUE159050adc10655350180{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHNlcnZvCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgphZGMxID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMSkpCmFkYzEuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQpzZXJ2by5zZXJ2bzE4MF9hbmdsZSgzLCAwKQp3aGlsZSBUcnVlOgogICAgc2Vydm8uc2Vydm8xODBfYW5nbGUoMTUsIChtYXRoX21hcChhZGMxLnJlYWRfdTE2KCksIDAsIDY1NTM1LCAwLCAxODApKSkKSkpCg== \ No newline at end of file +拨轮电位器连接到U3,使用IO1,舵机连接到杜邦口IO15、具体连接是,SANT背板朝上,从上往下0 1 2 3 舵机连接到1 2 3 杜邦口,线序是黄 红 褐adc#1machine.ADC.ATTN_11DBadc130WHILETRUE159050adc10655350180{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHNlcnZvCmZyb20gbWl4cHkgaW1wb3J0IG1hdGhfbWFwCgphZGMxID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMSkpCmFkYzEuYXR0ZW4obWFjaGluZS5BREMuQVRUTl8xMURCKQpzZXJ2by5zZXJ2bzE4MF9hbmdsZSgzLCAwKQp3aGlsZSBUcnVlOgogICAgc2Vydm8uc2Vydm8xODBfYW5nbGUoMTUsIChtYXRoX21hcChhZGMxLnJlYWRfdTE2KCksIDAsIDY1NTM1LCAwLCAxODApKSkKSkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-1 外接语音识别传感器-声控灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-1 外接语音识别传感器-声控灯.mix index c75c0a1a..e1fae0fd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-1 外接语音识别传感器-声控灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-1 外接语音识别传感器-声控灯.mix @@ -1 +1 @@ -语音识别模块接到U3,USB 小夜灯接到U2i2c_extend12100000CI130Xi2c_extendxsensor30亮度20WHILETRUExsensor23xsensor320亮度25xsensorADDa亮度10亮度min1亮度100350亮度26xsensorMINUSa亮度10亮度max1亮度0350亮度24xsensor30TrueMixly亮度0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNpMTMweApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSBjaTEzMHguQ0kxMzBYKGkyY19leHRlbmQpCm9uYm9hcmRfYm90LnVzYmVuKDMsIDApCuS6ruW6piA9IDIwCndoaWxlIFRydWU6CiAgICB4c2Vuc29yLmNtZF9pZCgpCiAgICBpZiB4c2Vuc29yLnJlc3VsdCgyMyk6CiAgICAgICAgb25ib2FyZF9ib3QudXNiZW4oMywg5Lqu5bqmKQogICAgaWYgeHNlbnNvci5yZXN1bHQoMjUpOgogICAgICAgIOS6ruW6piArPSAxMAogICAgICAgIOS6ruW6piA9IG1pbijkuq7luqYsIDEwMCkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigzLCDkuq7luqYpCiAgICBpZiB4c2Vuc29yLnJlc3VsdCgyNik6CiAgICAgICAg5Lqu5bqmIC09IDEwCiAgICAgICAg5Lqu5bqmID0gbWF4KOS6ruW6piwgMCkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigzLCDkuq7luqYpCiAgICBpZiB4c2Vuc29yLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9ib3QudXNiZW4oMywgMCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOS6ruW6piwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +语音识别模块接到U3,USB 小夜灯接到U2i2c_extend12100000CI130Xi2c_extendxsensor30亮度20WHILETRUExsensor23xsensor320亮度25xsensorADDa亮度10亮度min1亮度100350亮度26xsensorMINUSa亮度10亮度max1亮度0350亮度24xsensor30TrueMixly亮度0TRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNpMTMweApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYm90CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmkyY19leHRlbmQgPSBtYWNoaW5lLlNvZnRJMkMoc2NsID0gbWFjaGluZS5QaW4oMSksIHNkYT1tYWNoaW5lLlBpbigyKSwgZnJlcT0xMDAwMDApCnhzZW5zb3IgPSBjaTEzMHguQ0kxMzBYKGkyY19leHRlbmQpCm9uYm9hcmRfYm90LnVzYmVuKDMsIDApCuS6ruW6piA9IDIwCndoaWxlIFRydWU6CiAgICB4c2Vuc29yLmNtZF9pZCgpCiAgICBpZiB4c2Vuc29yLnJlc3VsdCgyMyk6CiAgICAgICAgb25ib2FyZF9ib3QudXNiZW4oMywg5Lqu5bqmKQogICAgaWYgeHNlbnNvci5yZXN1bHQoMjUpOgogICAgICAgIOS6ruW6piArPSAxMAogICAgICAgIOS6ruW6piA9IG1pbijkuq7luqYsIDEwMCkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigzLCDkuq7luqYpCiAgICBpZiB4c2Vuc29yLnJlc3VsdCgyNik6CiAgICAgICAg5Lqu5bqmIC09IDEwCiAgICAgICAg5Lqu5bqmID0gbWF4KOS6ruW6piwgMCkKICAgICAgICBvbmJvYXJkX2JvdC51c2JlbigzLCDkuq7luqYpCiAgICBpZiB4c2Vuc29yLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9ib3QudXNiZW4oMywgMCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOS6ruW6piwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-2 外接语音识别传感器-语音交互.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-2 外接语音识别传感器-语音交互.mix index 471a5141..04186fbe 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-2 外接语音识别传感器-语音交互.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/3-4-2 外接语音识别传感器-语音交互.mix @@ -1 +1 @@ -i2c_extend12100000CI130Xi2c_extendxsensorWHILETRUExsensor56xsensors1156136xsensortemperature58xsensors1160132xsensorintxl{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNpMTMweAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAoKaTJjX2V4dGVuZCA9IG1hY2hpbmUuU29mdEkyQyhzY2wgPSBtYWNoaW5lLlBpbigxKSwgc2RhPW1hY2hpbmUuUGluKDIpLCBmcmVxPTEwMDAwMCkKeHNlbnNvciA9IGNpMTMweC5DSTEzMFgoaTJjX2V4dGVuZCkKd2hpbGUgVHJ1ZToKICAgIHhzZW5zb3IuY21kX2lkKCkKICAgIGlmIHhzZW5zb3IucmVzdWx0KDU2KToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgeHNlbnNvci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgeHNlbnNvci5yZXN1bHQoNTgpOgogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICB4c2Vuc29yLnBsYXkoMTYwLCBpbnQob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkpLCAxMzIpCg== \ No newline at end of file +i2c_extend12100000CI130Xi2c_extendxsensorWHILETRUExsensor56xsensors1156136xsensortemperature58xsensors1160132xsensorintxl{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IGNpMTMweAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAoKaTJjX2V4dGVuZCA9IG1hY2hpbmUuU29mdEkyQyhzY2wgPSBtYWNoaW5lLlBpbigxKSwgc2RhPW1hY2hpbmUuUGluKDIpLCBmcmVxPTEwMDAwMCkKeHNlbnNvciA9IGNpMTMweC5DSTEzMFgoaTJjX2V4dGVuZCkKd2hpbGUgVHJ1ZToKICAgIHhzZW5zb3IuY21kX2lkKCkKICAgIGlmIHhzZW5zb3IucmVzdWx0KDU2KToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgeHNlbnNvci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgeHNlbnNvci5yZXN1bHQoNTgpOgogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICB4c2Vuc29yLnBsYXkoMTYwLCBpbnQob25ib2FyZF9hbHNfbC5hbHNfdmlzKCkpLCAxMzIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-1 外接粉尘传感器-空气质量监测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-1 外接粉尘传感器-空气质量监测.mix index 800f2047..869e597f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-1 外接粉尘传感器-空气质量监测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-1 外接粉尘传感器-空气质量监测.mix @@ -1 +1 @@ -11152001314uart1PMzsensorWHILETRUETrueMixly2.5:{} 10:{}[0]zsensor[1]zsensor0TRUEs2{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHBtMl81CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9MTQsIHJ4PTEzLCBiYXVkcmF0ZT0xMTUyMDApCnpzZW5zb3I9IHBtMl81LlBNMl81KHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJzIuNTp7fSAxMDp7fScuZm9ybWF0KHpzZW5zb3IuY29uY2VudHJhdGlvbigpWzBdLCB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVsxXSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMikKMSwgdHg9MTQsIHJ4PTEzLCBiYXVkcmF0ZT0xMTUyMDApCnpzZW5zb3I9IHBtMl81LlBNMl81KHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJzIuNTp7fSAxMDp7fScuZm9ybWF0KHpzZW5zb3IuY29uY2VudHJhdGlvbigpWzBdLCB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVsxXSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMikKVswXSwgenNlbnNvci5jb25jZW50cmF0aW9uKClbMV0pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file +11152001314uart1PMzsensorWHILETRUETrueMixly2.5:{} 10:{}[0]zsensor[1]zsensor0TRUEs2{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHBtMl81CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9MTQsIHJ4PTEzLCBiYXVkcmF0ZT0xMTUyMDApCnpzZW5zb3I9IHBtMl81LlBNMl81KHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJzIuNTp7fSAxMDp7fScuZm9ybWF0KHpzZW5zb3IuY29uY2VudHJhdGlvbigpWzBdLCB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVsxXSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMikKMSwgdHg9MTQsIHJ4PTEzLCBiYXVkcmF0ZT0xMTUyMDApCnpzZW5zb3I9IHBtMl81LlBNMl81KHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoJzIuNTp7fSAxMDp7fScuZm9ybWF0KHpzZW5zb3IuY29uY2VudHJhdGlvbigpWzBdLCB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVsxXSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMikKVswXSwgenNlbnNvci5jb25jZW50cmF0aW9uKClbMV0pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-2 外接粉尘传感器-空气监测曲线.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-2 外接粉尘传感器-空气监测曲线.mix index 4ea62632..0f56c4b1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-2 外接粉尘传感器-空气监测曲线.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-1-2 外接粉尘传感器-空气监测曲线.mix @@ -1 +1 @@ -11152001314uart1PMzsensorWHILETRUE2390MINUS2391[1]zsensor255,255,0#ffffffFALSE2390MINUS2391[0]zsensor255,255,0#ff0000FALSEshift_left1FALSETrue白:PM10红:PM2.502020255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHBtMl81CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9MTQsIHJ4PTEzLCBiYXVkcmF0ZT0xMTUyMDApCnpzZW5zb3I9IHBtMl81LlBNMl81KHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQucGl4ZWwoaW50KDIzOSksIGludCgyMzkgLSB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVsxXSksIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQucGl4ZWwoaW50KDIzOSksIGludCgyMzkgLSB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVswXSksIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55m9OlBNMTDnuqI6UE0yLjUnLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg==cGl4ZWwoaW50KDIzOSksIGludCgyMzkgLSB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVswXSksIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55m9OlBNMTDnuqI6UE0yLjUnLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +11152001314uart1PMzsensorWHILETRUE2390MINUS2391[1]zsensor255,255,0#ffffffFALSE2390MINUS2391[0]zsensor255,255,0#ff0000FALSEshift_left1FALSETrue白:PM10红:PM2.502020255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHBtMl81CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgp1YXJ0MT1tYWNoaW5lLlVBUlQoMSwgdHg9MTQsIHJ4PTEzLCBiYXVkcmF0ZT0xMTUyMDApCnpzZW5zb3I9IHBtMl81LlBNMl81KHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQucGl4ZWwoaW50KDIzOSksIGludCgyMzkgLSB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVsxXSksIDB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQucGl4ZWwoaW50KDIzOSksIGludCgyMzkgLSB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVswXSksIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55m9OlBNMTDnuqI6UE0yLjUnLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg==cGl4ZWwoaW50KDIzOSksIGludCgyMzkgLSB6c2Vuc29yLmNvbmNlbnRyYXRpb24oKVswXSksIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hpZnRfbGVmdCgxLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn55m9OlBNMTDnuqI6UE0yLjUnLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-1 外接四位数码管-随机数字显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-1 外接四位数码管-随机数字显示.mix index ea373278..b4e39a0c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-1 外接四位数码管-随机数字显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-1 外接四位数码管-随机数字显示.mix @@ -1 +1 @@ -TM1650disp1314WHILETRUEtm1650disp2333int1100s1{}aW1wb3J0IHRtMTY1MAppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCgoKZGlzcCA9IHRtMTY1MC5UTTE2NTAoY2xrPTEzLGRpbz0xNCkKd2hpbGUgVHJ1ZToKICAgIGRpc3Auc2hvd251bSgocmFuZG9tLnJhbmRpbnQoMSwgMTAwKSkpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +TM1650disp1314WHILETRUEtm1650disp2333int1100s1{}aW1wb3J0IHRtMTY1MAppbXBvcnQgcmFuZG9tCmltcG9ydCB0aW1lCgoKZGlzcCA9IHRtMTY1MC5UTTE2NTAoY2xrPTEzLGRpbz0xNCkKd2hpbGUgVHJ1ZToKICAgIGRpc3Auc2hvd251bSgocmFuZG9tLnJhbmRpbnQoMSwgMTAwKSkpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-2 外接四位数码管-显示小数温度.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-2 外接四位数码管-显示小数温度.mix index 7a3f16f9..d357d654 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-2 外接四位数码管-显示小数温度.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-2-2 外接四位数码管-显示小数温度.mix @@ -1 +1 @@ -TM1650disp1314WHILETRUEtm1650disp2333intxMULTIPLY1temperature10tm1650disp2ONs1{}aW1wb3J0IHRtMTY1MApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmltcG9ydCB0aW1lCgoKZGlzcCA9IHRtMTY1MC5UTTE2NTAoY2xrPTEzLGRpbz0xNCkKd2hpbGUgVHJ1ZToKICAgIGRpc3Auc2hvd251bShpbnQoKG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCkgKiAxMCkpKQogICAgZGlzcC5zaG93RFAoMiwgMSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +TM1650disp1314WHILETRUEtm1650disp2333intxMULTIPLY1temperature10tm1650disp2ONs1{}aW1wb3J0IHRtMTY1MApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmltcG9ydCB0aW1lCgoKZGlzcCA9IHRtMTY1MC5UTTE2NTAoY2xrPTEzLGRpbz0xNCkKd2hpbGUgVHJ1ZToKICAgIGRpc3Auc2hvd251bShpbnQoKG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCkgKiAxMCkpKQogICAgZGlzcC5zaG93RFAoMiwgMSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-1 外接气体传感器-显示气体参考值.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-1 外接气体传感器-显示气体参考值.mix index f98950ae..c3b85b03 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-1 外接气体传感器-显示气体参考值.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-1 外接气体传感器-显示气体参考值.mix @@ -1 +1 @@ -adc#13machine.ADC.ATTN_11DBadc13WHILETRUETrueMixlyadc130TRUEs1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyhhZGMxMy5yZWFkX3UxNigpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +adc#13machine.ADC.ATTN_11DBadc13WHILETRUETrueMixlyadc130TRUEs1{}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCmFkYzEzID0gbWFjaGluZS5BREMobWFjaGluZS5QaW4oMTMpKQphZGMxMy5hdHRlbihtYWNoaW5lLkFEQy5BVFROXzExREIpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zaG93cyhhZGMxMy5yZWFkX3UxNigpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-2 外接数字气体传感器-显示气体参考值.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-2 外接数字气体传感器-显示气体参考值.mix index bec29e6d..e5ba3559 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-2 外接数字气体传感器-显示气体参考值.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-3-2 外接数字气体传感器-显示气体参考值.mix @@ -1 +1 @@ -11152001314uart1TVOCzsensorWHILETRUETrueMixlyzsensor0TRUEs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHR2b2MwN3MKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCnVhcnQxPW1hY2hpbmUuVUFSVCgxLCB0eD0xNCwgcng9MTMsIGJhdWRyYXRlPTExNTIwMCkKenNlbnNvcj0gdHZvYzA3cy5UVk9DKHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoenNlbnNvci5yZWFkKCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +11152001314uart1TVOCzsensorWHILETRUETrueMixlyzsensor0TRUEs1{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IHR2b2MwN3MKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCnVhcnQxPW1hY2hpbmUuVUFSVCgxLCB0eD0xNCwgcng9MTMsIGJhdWRyYXRlPTExNTIwMCkKenNlbnNvcj0gdHZvYzA3cy5UVk9DKHVhcnQxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuc2hvd3MoenNlbnNvci5yZWFkKCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-1 外接称重传感器-称重传感器使用.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-1 外接称重传感器-称重传感器使用.mix index 03281f8e..3dcacbda 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-1 外接称重传感器-称重传感器使用.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-1 外接称重传感器-称重传感器使用.mix @@ -1 +1 @@ -称重传感器连接到U1,使用IO1,IO2weight12500WHILETRUETrueMixlyweight0TRUEs1{}aW1wb3J0IGh4NzIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCndlaWdodCA9IGh4NzIwLkhYNzIwKDEsIDIsIDUwMCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHdlaWdodC5yZWFkX3dlaWdodCgxMCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +称重传感器连接到U1,使用IO1,IO2weight12500WHILETRUETrueMixlyweight0TRUEs1{}aW1wb3J0IGh4NzIwCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCndlaWdodCA9IGh4NzIwLkhYNzIwKDEsIDIsIDUwMCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHdlaWdodC5yZWFkX3dlaWdodCgxMCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-2 外接称重传感器-称重播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-2 外接称重传感器-称重播报.mix index 30df11c0..d67a4589 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-2 外接称重传感器-称重播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期9/4-4-2 外接称重传感器-称重播报.mix @@ -1 +1 @@ -称重传感器连接到U1,使用IO1,IO21weight12500WHILETRUEB1keyNone128weightTrueMixlyweight0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgaHg3MjAKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fzcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKd2VpZ2h0ID0gaHg3MjAuSFg3MjAoMSwgMiwgNTAwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfYXNyLnBsYXkoTm9uZSwgd2VpZ2h0LnJlYWRfd2VpZ2h0KDEwKSwgMTI4KQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHdlaWdodC5yZWFkX3dlaWdodCgxMCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +称重传感器连接到U1,使用IO1,IO21weight12500WHILETRUEB1keyNone128weightTrueMixlyweight0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdAppbXBvcnQgaHg3MjAKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fzcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKd2VpZ2h0ID0gaHg3MjAuSFg3MjAoMSwgMiwgNTAwKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfYXNyLnBsYXkoTm9uZSwgd2VpZ2h0LnJlYWRfd2VpZ2h0KDEwKSwgMTI4KQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHdlaWdodC5yZWFkX3dlaWdodCgxMCksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-1 图像显示-实时显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-1 图像显示-实时显示.mix index 72a55bdc..802e13f5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-1 图像显示-实时显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-1 图像显示-实时显示.mix @@ -1 +1 @@ -R240X240FalseFalseWHILETRUEimageimageTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1UcnVlKQo= \ No newline at end of file +R240X240FalseFalseWHILETRUEimageimageTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-2 图像显示-截取显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-2 图像显示-截取显示.mix index 9a7f637b..713b5191 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-2 图像显示-截取显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-1-2 图像显示-截取显示.mix @@ -1 +1 @@ -R240X240FalseFalseWHILETRUEimageimageFALSEimage40408080imageTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIGltYWdlID0gb25ib2FyZF90ZnQuc2NyZWVuc2hvdCh4PTQwLHk9NDAsdz04MCxoPTgwKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1UcnVlKQo= \ No newline at end of file +R240X240FalseFalseWHILETRUEimageimageFALSEimage40408080imageTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIGltYWdlID0gb25ib2FyZF90ZnQuc2NyZWVuc2hvdCh4PTQwLHk9NDAsdz04MCxoPTgwKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-1 图像显示-显示图片.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-1 图像显示-显示图片.mix index b82b0200..3daabc71 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-1 图像显示-显示图片.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-1 图像显示-显示图片.mix @@ -1,2 +1,2 @@ -可以通过板卡文件管理上传图片到板子 +可以通过板卡文件管理上传图片到板子 0111.jpgTRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LmRpc3BsYXkoJzExMS5qcGcnLHJvdGF0aW9uPTAsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-2 图像显示-截取显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-2 图像显示-截取显示.mix index 214369cc..44d2c59c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-2 图像显示-截取显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-2-2 图像显示-截取显示.mix @@ -1,2 +1,2 @@ -可以通过板卡文件管理上传图片到板子 +可以通过板卡文件管理上传图片到板子 0111.jpg00FALSEimage2020200200image2020TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LmRpc3BsYXkoJzExMS5qcGcnLHg9MCx5PTAscm90YXRpb249MCxzeW5jPUZhbHNlKQppbWFnZSA9IG9uYm9hcmRfdGZ0LnNjcmVlbnNob3QoeD0yMCx5PTIwLHc9MjAwLGg9MjAwKQpvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLHg9MjAseT0yMCwgc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-1 图像显示-旋转显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-1 图像显示-旋转显示.mix index 3f23ae3f..626fa4be 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-1 图像显示-旋转显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-1 图像显示-旋转显示.mix @@ -1,2 +1,2 @@ -可以通过板卡文件管理上传图片到板子,有些图片格式不支持 +可以通过板卡文件管理上传图片到板子,有些图片格式不支持 01.jpgTRUEWHILETRUEA1key901.jpgTRUEA2key1801.jpgTRUEA3key2701.jpgTRUEA4key01.jpgTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0wLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KCcxLmpwZycscm90YXRpb249OTAsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0xODAsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0yNzAsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoJzEuanBnJyxyb3RhdGlvbj0wLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-2 图像显示-移动显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-2 图像显示-移动显示.mix index 56766331..e319f18d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-2 图像显示-移动显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-3-2 图像显示-移动显示.mix @@ -1,2 +1,2 @@ -可以通过板卡文件管理上传图片到板子,有些图片格式不支持 +可以通过板卡文件管理上传图片到板子,有些图片格式不支持 x0y0WHILETRUE01.jpg0x0yTRUEA1keyADDy10A2keyMINUSx10A3keyMINUSy10A4keyADDx10{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCnggPSAwCnkgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KCcxLmpwZycseD14LHk9eSxyb3RhdGlvbj0wLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB5ICs9IDEwCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgeCAtPSAxMAogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHkgLT0gMTAKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB4ICs9IDEwCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-1 图像显示-移动显示大图片.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-1 图像显示-移动显示大图片.mix index 794fa76f..97b02056 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-1 图像显示-移动显示大图片.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-1 图像显示-移动显示大图片.mix @@ -1,2 +1,2 @@ -可以通过板卡文件管理上传图片到板子,有些图片格式不支持 +可以通过板卡文件管理上传图片到板子,有些图片格式不支持 image0111.jpg240240xZHENGCHU1MINUS1widthimage2402yZHENGCHU1MINUS1heightimage2402WHILETRUEimage0x0yTRUEA1keyMINUSy10A2keyADDx10A3keyADDy10A4keyMINUSx10s0.1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmltYWdlID0gSW1hZ2Uub3BlbihwYXRoPScxMTEuanBnJyxyb3RhdGlvbj0wLHNjYWxlX3dpZHRoPTI0MCxzY2FsZV9oZWlnaHQ9MjQwKQp4ID0gKGltYWdlLndpZHRoIC0gMjQwKSAvLyAyCnkgPSAoaW1hZ2UuaGVpZ2h0IC0gMjQwKSAvLyAyCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLHg9eCx5PXksIHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB5IC09IDEwCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgeCArPSAxMAogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHkgKz0gMTAKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB4IC09IDEwCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-2 图像显示-居中显示大图片.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-2 图像显示-居中显示大图片.mix index ac1e545e..0b4fabfa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-2 图像显示-居中显示大图片.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/1-4-2 图像显示-居中显示大图片.mix @@ -1,2 +1,2 @@ -可以通过板卡文件管理上传图片到板子,有些图片格式不支持 +可以通过板卡文件管理上传图片到板子,有些图片格式不支持 image0111.jpg240240xZHENGCHU1MINUS1widthimage2402yZHENGCHU1MINUS1heightimage2402WHILETRUEimage0x0yTRUEA1keyMINUSy10A2keyADDx10A3keyADDy10A4keyMINUSx10s0.1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmltYWdlID0gSW1hZ2Uub3BlbihwYXRoPScxMTEuanBnJyxyb3RhdGlvbj0wLHNjYWxlX3dpZHRoPTI0MCxzY2FsZV9oZWlnaHQ9MjQwKQp4ID0gKGltYWdlLndpZHRoIC0gMjQwKSAvLyAyCnkgPSAoaW1hZ2UuaGVpZ2h0IC0gMjQwKSAvLyAyCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLHg9eCx5PXksIHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB5IC09IDEwCiAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgeCArPSAxMAogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHkgKz0gMTAKICAgIGlmIG1peGdvX3NhbnQuQTRrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB4IC09IDEwCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-1 数码相机-拍照保存.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-1 数码相机-拍照保存.mix index 0d27067d..8c340490 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-1 数码相机-拍照保存.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-1 数码相机-拍照保存.mix @@ -1 +1 @@ -R240X240FalseFalse序号0WHILETRUEimageimageFALSEB1keyADDa序号10imagemixly.jpgHellox序号.jpg90TrueMixlyHellox序号.jpg0FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgSW1hZ2Uuc2F2ZShpbWFnZSxwYXRoPShzdHIo5bqP5Y+3KSArICcuanBnJykscXVhbGl0eT05MCxyb3RhdGlvbj0wKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file +R240X240FalseFalse序号0WHILETRUEimageimageFALSEB1keyADDa序号10imagemixly.jpgHellox序号.jpg90TrueMixlyHellox序号.jpg0FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgSW1hZ2Uuc2F2ZShpbWFnZSxwYXRoPShzdHIo5bqP5Y+3KSArICcuanBnJykscXVhbGl0eT05MCxyb3RhdGlvbj0wKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-2 数码相机-四格拍照.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-2 数码相机-四格拍照.mix index 1b64413d..a0a2f922 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-2 数码相机-四格拍照.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-1-2 数码相机-四格拍照.mix @@ -1 +1 @@ -R96X96FalseFalse序号0WHILETRUEFALSEimage0,1,2,3021x0,1,2,3021yimage0MULTIPLYx1200MULTIPLYy120FALSEB1keyimage002402400imagemixly.jpgHellox序号.jpg90TrueMixlyHellox序号.jpg0FALSEADDa序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjk2WDk2LGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBmb3IgeSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSx4PSh4ICogMTIwKSx5PSh5ICogMTIwKSwgc3luYz1GYWxzZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpbWFnZSA9IG9uYm9hcmRfdGZ0LnNjcmVlbnNob3QoeD0wLHk9MCx3PTI0MCxoPTI0MCkKICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijluo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +R96X96FalseFalse序号0WHILETRUEFALSEimage0,1,2,3021x0,1,2,3021yimage0MULTIPLYx1200MULTIPLYy120FALSEB1keyimage002402400imagemixly.jpgHellox序号.jpg90TrueMixlyHellox序号.jpg0FALSEADDa序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjk2WDk2LGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBmb3IgeCBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICBmb3IgeSBpbiByYW5nZSgwLCAyLCAxKToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSx4PSh4ICogMTIwKSx5PSh5ICogMTIwKSwgc3luYz1GYWxzZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBpbWFnZSA9IG9uYm9hcmRfdGZ0LnNjcmVlbnNob3QoeD0wLHk9MCx3PTI0MCxoPTI0MCkKICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijluo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-1 数码相机-拍照回放.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-1 数码相机-拍照回放.mix index 107f08b4..b5406086 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-1 数码相机-拍照回放.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-1 数码相机-拍照回放.mix @@ -1 +1 @@ -R240X240FalseFalse序号0WHILETRUEimageimageFALSEB1keyADDa序号10imagemixly.jpgHellox序号.jpg90TrueMixlyHellox序号.jpg0FALSEB2key0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgSW1hZ2Uuc2F2ZShpbWFnZSxwYXRoPShzdHIo5bqP5Y+3KSArICcuanBnJykscXVhbGl0eT05MCxyb3RhdGlvbj0wKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +R240X240FalseFalse序号0WHILETRUEimageimageFALSEB1keyADDa序号10imagemixly.jpgHellox序号.jpg90TrueMixlyHellox序号.jpg0FALSEB2key0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmZyb20gY2FtZXJhIGltcG9ydCBJbWFnZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgSW1hZ2Uuc2F2ZShpbWFnZSxwYXRoPShzdHIo5bqP5Y+3KSArICcuanBnJykscXVhbGl0eT05MCxyb3RhdGlvbj0wKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-2 数码相机-列表显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-2 数码相机-列表显示.mix index 09aca878..f90c8b59 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-2 数码相机-列表显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-2-2 数码相机-列表显示.mix @@ -1 +1 @@ -R240X240FalseFalse图像序号0显示摄像头TRUEWHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1B2key显示摄像头显示摄像头显示文件列表mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSW1hZ2Uuc2F2ZShpbWFnZSxwYXRoPShzdHIo5Zu+5YOP5bqP5Y+3KSArICcuanBnJykscXVhbGl0eT05MCxyb3RhdGlvbj0wKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5Zu+5YOP5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAg5Zu+5YOP5bqP5Y+3ICs9IDEKICAgIGVsc2U6CiAgICAgICAg5pi+56S65paH5Lu25YiX6KGoKCkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0Cg== \ No newline at end of file +R240X240FalseFalse图像序号0显示摄像头TRUEWHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1B2key显示摄像头显示摄像头显示文件列表mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSW1hZ2Uuc2F2ZShpbWFnZSxwYXRoPShzdHIo5Zu+5YOP5bqP5Y+3KSArICcuanBnJykscXVhbGl0eT05MCxyb3RhdGlvbj0wKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5Zu+5YOP5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAg5Zu+5YOP5bqP5Y+3ICs9IDEKICAgIGVsc2U6CiAgICAgICAg5pi+56S65paH5Lu25YiX6KGoKCkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0Cg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-1 数码相机-列表选择.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-1 数码相机-列表选择.mix index 9415d19e..333898ea 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-1 数码相机-列表选择.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-1 数码相机-列表选择.mix @@ -1 +1 @@ -R240X240FalseFalse图像序号0显示摄像头TRUE选择序号0WHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A3key选择序号MINUS1选择序号1A1key选择序号ADD1选择序号1B2key显示摄像头显示摄像头显示文件列表mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSErect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCumAieaLqeW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDlm77lg4/luo/lj7cgKz0gMQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQK \ No newline at end of file +R240X240FalseFalse图像序号0显示摄像头TRUE选择序号0WHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A3key选择序号MINUS1选择序号1A1key选择序号ADD1选择序号1B2key显示摄像头显示摄像头显示文件列表mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSErect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCumAieaLqeW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDlm77lg4/luo/lj7cgKz0gMQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-2 数码相机-限定选择.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-2 数码相机-限定选择.mix index 0d810451..4392749b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-2 数码相机-限定选择.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-3-2 数码相机-限定选择.mix @@ -1 +1 @@ -R240X240FalseFalse图像序号0显示摄像头TRUE照片总数0选择序号0WHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片总数1B2key显示摄像头显示摄像头显示文件列表照片总数mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADD照片总数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBnbG9iYWwg54Wn54mH5oC75pWwCiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOeFp+eJh+aAu+aVsCArPSAxCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+aAu+aVsCA9IDAK6YCJ5oup5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPeaYvuekuuaRhOWDj+WktCkKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIEltYWdlLnNhdmUoaW1hZ2UscGF0aD0oc3RyKOWbvuWDj+W6j+WPtykgKyAnLmpwZycpLHF1YWxpdHk9OTAscm90YXRpb249MCkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOWbvuWDj+W6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOWbvuWDj+W6j+WPtyArPSAxCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWF4KOmAieaLqeW6j+WPtyAtIDEsIDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtaW4o6YCJ5oup5bqP5Y+3ICsgMSwg54Wn54mH5oC75pWwIC0gMSkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQK \ No newline at end of file +R240X240FalseFalse图像序号0显示摄像头TRUE照片总数0选择序号0WHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片总数1B2key显示摄像头显示摄像头显示文件列表照片总数mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADD照片总数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBnbG9iYWwg54Wn54mH5oC75pWwCiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOeFp+eJh+aAu+aVsCArPSAxCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+aAu+aVsCA9IDAK6YCJ5oup5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPeaYvuekuuaRhOWDj+WktCkKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIEltYWdlLnNhdmUoaW1hZ2UscGF0aD0oc3RyKOWbvuWDj+W6j+WPtykgKyAnLmpwZycpLHF1YWxpdHk9OTAscm90YXRpb249MCkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOWbvuWDj+W6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOWbvuWDj+W6j+WPtyArPSAxCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWF4KOmAieaLqeW6j+WPtyAtIDEsIDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtaW4o6YCJ5oup5bqP5Y+3ICsgMSwg54Wn54mH5oC75pWwIC0gMSkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-1 数码相机-显示照片.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-1 数码相机-显示照片.mix index 5fd8668a..4d7676bd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-1 数码相机-显示照片.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-1 数码相机-显示照片.mix @@ -1 +1 @@ -R240X240FalseFalse图像序号0显示摄像头TRUE照片总数0选择序号0mylistWHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片总数1B1key0mixly.jpgmylist0选择序号TRUEs1B2key显示摄像头显示摄像头显示文件列表照片总数mylistmylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADD照片总数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBnbG9iYWwg54Wn54mH5oC75pWwCiAgICBnbG9iYWwgbXlsaXN0CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOeFp+eJh+aAu+aVsCArPSAxCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+aAu+aVsCA9IDAK6YCJ5oup5bqP5Y+3ID0gMApteWxpc3QgPSBvcy5saXN0ZGlyKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDlm77lg4/luo/lj7cgKz0gMQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+aAu+aVsCAtIDEpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KG15bGlzdFvpgInmi6nluo/lj7ddLHJvdGF0aW9uPTAsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAg5pi+56S65paH5Lu25YiX6KGoKCkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0Cg== \ No newline at end of file +R240X240FalseFalse图像序号0显示摄像头TRUE照片总数0选择序号0mylistWHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片总数1B1key0mixly.jpgmylist0选择序号TRUEs1B2key显示摄像头显示摄像头显示文件列表照片总数mylistmylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADD照片总数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBnbG9iYWwg54Wn54mH5oC75pWwCiAgICBnbG9iYWwgbXlsaXN0CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOeFp+eJh+aAu+aVsCArPSAxCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+aAu+aVsCA9IDAK6YCJ5oup5bqP5Y+3ID0gMApteWxpc3QgPSBvcy5saXN0ZGlyKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDlm77lg4/luo/lj7cgKz0gMQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+aAu+aVsCAtIDEpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KG15bGlzdFvpgInmi6nluo/lj7ddLHJvdGF0aW9uPTAsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAg5pi+56S65paH5Lu25YiX6KGoKCkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrmkYTlg4/lpLQgPSBub3Qg5pi+56S65pGE5YOP5aS0Cg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-2 数码相机-删除照片.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-2 数码相机-删除照片.mix index 4e18ea02..4150d013 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-2 数码相机-删除照片.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/2-4-2 数码相机-删除照片.mix @@ -1 +1 @@ -R240X240FalseFalse图像序号0显示摄像头TRUE照片总数0选择序号0mylistWHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A2keyremovefilename.txtmylist0选择序号选择序号0A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片总数1B1key0mixly.jpgmylist0选择序号TRUEs1B2key显示摄像头显示摄像头显示文件列表照片总数mylistmylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADD照片总数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBnbG9iYWwg54Wn54mH5oC75pWwCiAgICBnbG9iYWwgbXlsaXN0CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOeFp+eJh+aAu+aVsCArPSAxCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+aAu+aVsCA9IDAK6YCJ5oup5bqP5Y+3ID0gMApteWxpc3QgPSBvcy5saXN0ZGlyKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDlm77lg4/luo/lj7cgKz0gMQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9zLnJlbW92ZShteWxpc3Rb6YCJ5oup5bqP5Y+3XSkKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gMAogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWF4KOmAieaLqeW6j+WPtyAtIDEsIDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtaW4o6YCJ5oup5bqP5Y+3ICsgMSwg54Wn54mH5oC75pWwIC0gMSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkobXlsaXN0W+mAieaLqeW6j+WPt10scm90YXRpb249MCxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQK \ No newline at end of file +R240X240FalseFalse图像序号0显示摄像头TRUE照片总数0选择序号0mylistWHILETRUEimageimageFALSE显示摄像头显示摄像头B1key0imagemixly.jpgHellox图像序号.jpg90TrueMixlyHellox图像序号.jpg0FALSEADDa图像序号1A2keyremovefilename.txtmylist0选择序号选择序号0A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片总数1B1key0mixly.jpgmylist0选择序号TRUEs1B2key显示摄像头显示摄像头显示文件列表照片总数mylistmylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADD照片总数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKaW1wb3J0IG1hdGgKCgpmcm9tIGNhbWVyYSBpbXBvcnQgSW1hZ2UKCgpkZWYg5pi+56S65paH5Lu25YiX6KGoKCk6CiAgICBnbG9iYWwg54Wn54mH5oC75pWwCiAgICBnbG9iYWwgbXlsaXN0CiAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG15bGlzdCksIDEpOgogICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOeFp+eJh+aAu+aVsCArPSAxCiAgICBvbmJvYXJkX3RmdC5yZWN0KDAsICjpgInmi6nluo/lj7cgKiA0MCksIDI0MCwgNDAsIDB4ZjgwMCxzeW5jPVRydWUpCgoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5Zu+5YOP5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+aAu+aVsCA9IDAK6YCJ5oup5bqP5Y+3ID0gMApteWxpc3QgPSBvcy5saXN0ZGlyKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBJbWFnZS5zYXZlKGltYWdlLHBhdGg9KHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnKSxxdWFsaXR5PTkwLHJvdGF0aW9uPTApCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlm77lg4/luo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDlm77lg4/luo/lj7cgKz0gMQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9zLnJlbW92ZShteWxpc3Rb6YCJ5oup5bqP5Y+3XSkKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gMAogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWF4KOmAieaLqeW6j+WPtyAtIDEsIDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtaW4o6YCJ5oup5bqP5Y+3ICsgMSwg54Wn54mH5oC75pWwIC0gMSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkobXlsaXN0W+mAieaLqeW6j+WPt10scm90YXRpb249MCxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-1 图像识别-二维码识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-1 图像识别-二维码识别.mix index 953d2a43..20e911c9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-1 图像识别-二维码识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-1 图像识别-二维码识别.mix @@ -1 +1 @@ -R240X240FalseFalseQRReaderModel240240WHILETRUEimageimageTRUE_resultsModelimage_results6591000,1,2,305QRReader_results1iMixly内容: {} 置信度:{} 坐标:{}QRReader_results0iQRReader_results0iQRReaderall_results0i{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuUVJSZWFkZXIod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPVRydWUpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImxlbiIpLCAxKToKICAgICAgICAgICAgcHJpbnQoJ+WGheWuuToge30g572u5L+h5bqmOnt9IOWdkOaghzp7fScuZm9ybWF0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSkpKQo= \ No newline at end of file +R240X240FalseFalseQRReaderModel240240WHILETRUEimageimageTRUE_resultsModelimage_results6591000,1,2,305QRReader_results1iMixly内容: {} 置信度:{} 坐标:{}QRReader_results0iQRReader_results0iQRReaderall_results0i{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuUVJSZWFkZXIod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPVRydWUpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImxlbiIpLCAxKToKICAgICAgICAgICAgcHJpbnQoJ+WGheWuuToge30g572u5L+h5bqmOnt9IOWdkOaghzp7fScuZm9ybWF0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSkpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-2 图像识别-二维码识别进阶.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-2 图像识别-二维码识别进阶.mix index e46853bb..3f315125 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-2 图像识别-二维码识别进阶.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-1-2 图像识别-二维码识别进阶.mix @@ -1 +1 @@ -R240X240FalseFalseQRReaderModel240240WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305QRReader_results1iMixlyQRReader_results0i0QRReader0_results0i0QRReader1_results0i2255,255,0#ff0000FALSErect20QRReader0_results0i20QRReader1_results0i20QRReader2_results0i15QRReader3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuUVJSZWFkZXIod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJsZW4iKSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnRleHRzKGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgeD1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVswXSwgeT1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgc2l6ZT0yLCBjb2xvcj0weGY4MDAsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +R240X240FalseFalseQRReaderModel240240WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305QRReader_results1iMixlyQRReader_results0i0QRReader0_results0i0QRReader1_results0i2255,255,0#ff0000FALSErect20QRReader0_results0i20QRReader1_results0i20QRReader2_results0i15QRReader3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuUVJSZWFkZXIod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJsZW4iKSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnRleHRzKGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgeD1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVswXSwgeT1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgc2l6ZT0yLCBjb2xvcj0weGY4MDAsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-1 图像识别-颜色识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-1 图像识别-颜色识别.mix index 58f5d93f..a7556504 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-1 图像识别-颜色识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-1 图像识别-颜色识别.mix @@ -1 +1 @@ -R240X240FalseFalseColorDetectorModel240240redModel256WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305ColorDetector_results1iMixly序号:{} 内容: {} 置信度:{} 坐标:{}iColorDetector_results0iQRReader_results0iQRReaderall_results0irect20ColorDetector0_results0i20ColorDetector1_results0i20ColorDetector2_results0i15ColorDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuQ29sb3JEZXRlY3Rvcih3aWR0aD0yNDAsIGhlaWdodD0yNDApCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgxNzAsIDEwMCwgMTAwKSwgKDEwLCAyNTUsIDI1NSksInJlZCIsIDI1NikKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywibGVuIiksIDEpOgogICAgICAgICAgICBwcmludCgn5bqP5Y+3Ont9IOWGheWuuToge30g572u5L+h5bqmOnt9IOWdkOaghzp7fScuZm9ybWF0KGksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSkpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +R240X240FalseFalseColorDetectorModel240240redModel256WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305ColorDetector_results1iMixly序号:{} 内容: {} 置信度:{} 坐标:{}iColorDetector_results0iQRReader_results0iQRReaderall_results0irect20ColorDetector0_results0i20ColorDetector1_results0i20ColorDetector2_results0i15ColorDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuQ29sb3JEZXRlY3Rvcih3aWR0aD0yNDAsIGhlaWdodD0yNDApCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgxNzAsIDEwMCwgMTAwKSwgKDEwLCAyNTUsIDI1NSksInJlZCIsIDI1NikKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywibGVuIiksIDEpOgogICAgICAgICAgICBwcmludCgn5bqP5Y+3Ont9IOWGheWuuToge30g572u5L+h5bqmOnt9IOWdkOaghzp7fScuZm9ybWF0KGksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSkpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-2 图像识别-颜色识别进阶.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-2 图像识别-颜色识别进阶.mix index 2588854d..091d5927 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-2 图像识别-颜色识别进阶.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-2-2 图像识别-颜色识别进阶.mix @@ -1 +1 @@ -R240X240FalseFalseColorDetectorModel240240Model0, 43, 4610, 255, 255red256Model100, 43, 46198, 255, 255blue256WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305ColorDetector_results1iTrueMixlyColorDetector_results0i0ColorDetector0_results0i0ColorDetector1_results0i20255,255,0#ff0000FALSErect20ColorDetector0_results0i20ColorDetector1_results0i20ColorDetector2_results0i15ColorDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuQ29sb3JEZXRlY3Rvcih3aWR0aD0yNDAsIGhlaWdodD0yNDApCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgwLCA0MywgNDYpLCAoMTAsIDI1NSwgMjU1KSwgJ3JlZCcsIDI1NikKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDEwMCwgNDMsIDQ2KSwgKDE5OCwgMjU1LCAyNTUpLCAnYmx1ZScsIDI1NikKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywibGVuIiksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsaSksIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +R240X240FalseFalseColorDetectorModel240240Model0, 43, 4610, 255, 255red256Model100, 43, 46198, 255, 255blue256WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305ColorDetector_results1iTrueMixlyColorDetector_results0i0ColorDetector0_results0i0ColorDetector1_results0i20255,255,0#ff0000FALSErect20ColorDetector0_results0i20ColorDetector1_results0i20ColorDetector2_results0i15ColorDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuQ29sb3JEZXRlY3Rvcih3aWR0aD0yNDAsIGhlaWdodD0yNDApCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgwLCA0MywgNDYpLCAoMTAsIDI1NSwgMjU1KSwgJ3JlZCcsIDI1NikKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDEwMCwgNDMsIDQ2KSwgKDE5OCwgMjU1LCAyNTUpLCAnYmx1ZScsIDI1NikKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywibGVuIiksIDEpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsaSksIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-1 图像识别-人脸检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-1 图像识别-人脸检测.mix index 0ade8496..d1309881 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-1 图像识别-人脸检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-1 图像识别-人脸检测.mix @@ -1 +1 @@ -R240X240FalseFalseFaceDetectorModel240240WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305FaceDetector_results1iMixly序号:{} 内容: {} 置信度:{} 坐标:{}iFaceDetector_results0iFaceDetector_results0iFaceDetectorall_results0irect20FaceDetector0_results0i20FaceDetector1_results0i20FaceDetector2_results0i15FaceDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZURldGVjdG9yKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywibGVuIiksIDEpOgogICAgICAgICAgICBwcmludCgn5bqP5Y+3Ont9IOWGheWuuToge30g572u5L+h5bqmOnt9IOWdkOaghzp7fScuZm9ybWF0KGksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSkpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +R240X240FalseFalseFaceDetectorModel240240WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305FaceDetector_results1iMixly序号:{} 内容: {} 置信度:{} 坐标:{}iFaceDetector_results0iFaceDetector_results0iFaceDetectorall_results0irect20FaceDetector0_results0i20FaceDetector1_results0i20FaceDetector2_results0i15FaceDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZURldGVjdG9yKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywibGVuIiksIDEpOgogICAgICAgICAgICBwcmludCgn5bqP5Y+3Ont9IOWGheWuuToge30g572u5L+h5bqmOnt9IOWdkOaghzp7fScuZm9ybWF0KGksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJkYXRhIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIixpKSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSkpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-2 图像识别-人检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-2 图像识别-人检测.mix index 8bf6a2c1..c6ed714b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-2 图像识别-人检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-3-2 图像识别-人检测.mix @@ -1 +1 @@ -R240X240FalseFalseHumanDetectorModel240240WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305HumanDetector_results1iMixly序号:{} 内容: {} 置信度:{} 坐标:{}iHumanDetector_results0iHumanDetector_results0iHumanDetectorall_results0irect20HumanDetector0_results0i20HumanDetector1_results0i20HumanDetector2_results0i15HumanDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSHVtYW5EZXRlY3Rvcih3aWR0aD0yNDAsIGhlaWdodD0yNDApCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM9RmFsc2UpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImxlbiIpLCAxKToKICAgICAgICAgICAgcHJpbnQoJ+W6j+WPtzp7fSDlhoXlrrk6IHt9IOe9ruS/oeW6pjp7fSDlnZDmoIc6e30nLmZvcm1hdChpLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsaSksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJzY29yZSIsaSksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpKSkKICAgICAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +R240X240FalseFalseHumanDetectorModel240240WHILETRUEimageimageFALSE_resultsModelimage_results6591000,1,2,305HumanDetector_results1iMixly序号:{} 内容: {} 置信度:{} 坐标:{}iHumanDetector_results0iHumanDetector_results0iHumanDetectorall_results0irect20HumanDetector0_results0i20HumanDetector1_results0i20HumanDetector2_results0i15HumanDetector3_results0i255,255,0#ff0000FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSHVtYW5EZXRlY3Rvcih3aWR0aD0yNDAsIGhlaWdodD0yNDApCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM9RmFsc2UpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImxlbiIpLCAxKToKICAgICAgICAgICAgcHJpbnQoJ+W6j+WPtzp7fSDlhoXlrrk6IHt9IOe9ruS/oeW6pjp7fSDlnZDmoIc6e30nLmZvcm1hdChpLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsaSksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJzY29yZSIsaSksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpKSkKICAgICAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsaSlbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLGkpWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IixpKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-1 图像识别-物体分类.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-1 图像识别-物体分类.mix index 806eb15a..087db0b9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-1 图像识别-物体分类.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-1 图像识别-物体分类.mix @@ -1 +1 @@ -R240X240FalseFalseImageNetModel240240WHILETRUEimageimageFALSE_resultsModelimage_results659100Mixly 内容: {} 置信度:{}ImageNet_results0ImageNet_results0{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSW1hZ2VOZXQod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KCcg5YaF5a65OiB7fSDnva7kv6HluqY6e30nLmZvcm1hdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsMCksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJzY29yZSIsMCkpKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file +R240X240FalseFalseImageNetModel240240WHILETRUEimageimageFALSE_resultsModelimage_results659100Mixly 内容: {} 置信度:{}ImageNet_results0ImageNet_results0{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSW1hZ2VOZXQod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHByaW50KCcg5YaF5a65OiB7fSDnva7kv6HluqY6e30nLmZvcm1hdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiZGF0YSIsMCksIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJzY29yZSIsMCkpKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-2 图像识别-物体分类进阶.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-2 图像识别-物体分类进阶.mix index 9e785204..0acfd584 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-2 图像识别-物体分类进阶.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/3-4-2 图像识别-物体分类进阶.mix @@ -1 +1 @@ -R240X240FalseFalseImageNetModel240240WHILETRUEimageimageFALSE_resultsModelimage_resultsGTEImageNet_results00.6659100TrueMixlyImageNet_results00FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSW1hZ2VOZXQod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIiwwKSA+PSAwLjY6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImRhdGEiLDApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file +R240X240FalseFalseImageNetModel240240WHILETRUEimageimageFALSE_resultsModelimage_resultsGTEImageNet_results00.6659100TrueMixlyImageNet_results00FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuSW1hZ2VOZXQod2lkdGg9MjQwLCBoZWlnaHQ9MjQwKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsInNjb3JlIiwwKSA+PSAwLjY6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImRhdGEiLDApLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-1 人脸识别-录入人脸.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-1 人脸识别-录入人脸.mix index f772531e..bf2d9db6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-1 人脸识别-录入人脸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-1 人脸识别-录入人脸.mix @@ -1 +1 @@ -mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSEB1keyMixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBtYWNoaW5lCgoKbXl0dXA9ICgn5YKF6aqeJywgJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScsICfnlLDkuIMnKQrluo/lj7cgPSAwCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9MjQwLCBoZWlnaHQ9MjQwLCBkYl9wYXRoPSdmYWNlLmRiJykKTW9kZWwuY2xlYXJfZmFjZSgpCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM9RmFsc2UpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHByaW50KE1vZGVsLmVucm9sbChpbWFnZS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteXR1cFvluo/lj7ddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDluo/lj7cgKz0gMQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file +mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSEB1keyMixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBtYWNoaW5lCgoKbXl0dXA9ICgn5YKF6aqeJywgJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScsICfnlLDkuIMnKQrluo/lj7cgPSAwCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9MjQwLCBoZWlnaHQ9MjQwLCBkYl9wYXRoPSdmYWNlLmRiJykKTW9kZWwuY2xlYXJfZmFjZSgpCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM9RmFsc2UpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIHByaW50KE1vZGVsLmVucm9sbChpbWFnZS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteXR1cFvluo/lj7ddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDluo/lj7cgKz0gMQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-2 人脸识别-录入改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-2 人脸识别-录入改进.mix index dcabbab3..155abd7d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-2 人脸识别-录入改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-1-2 人脸识别-录入改进.mix @@ -1 +1 @@ -mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSEANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDluo/lj7cgPCBsZW4obXl0dXApOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KE1vZGVsLmVucm9sbChpbWFnZS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteXR1cFvluo/lj7ddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDluo/lj7cgKz0gMQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo=wiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDluo/lj7cgPCBsZW4obXl0dXApOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KE1vZGVsLmVucm9sbChpbWFnZS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICDluo/lj7cgKz0gMQogICAgICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9ICdudWxsJzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSEANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDluo/lj7cgPCBsZW4obXl0dXApOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KE1vZGVsLmVucm9sbChpbWFnZS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteXR1cFvluo/lj7ddLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICDluo/lj7cgKz0gMQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo=wiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDluo/lj7cgPCBsZW4obXl0dXApOgogICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgICAgIHByaW50KE1vZGVsLmVucm9sbChpbWFnZS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICDluo/lj7cgKz0gMQogICAgICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9ICdudWxsJzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-1 人脸识别-识别人脸.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-1 人脸识别-识别人脸.mix index 668d45f7..33181703 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-1 人脸识别-识别人脸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-1 人脸识别-识别人脸.mix @@ -1 +1 @@ -mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSETrueMixlyname_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0sIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5bqP5Y+3IDwgbGVuKG15dHVwKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXl0dXBb5bqP5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSETrueMixlyname_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0sIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5bqP5Y+3IDwgbGVuKG15dHVwKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXl0dXBb5bqP5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-2 人脸识别-识别改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-2 人脸识别-识别改进.mix index 3dbf1a79..68f45d1c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-2 人脸识别-识别改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-2-2 人脸识别-识别改进.mix @@ -1 +1 @@ -mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gIT0gJ251bGwnOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSArIHN0cihlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbInNpbWlsYXJpdHkiXSksIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5bqP5Y+3IDwgbGVuKG15dHVwKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXl0dXBb5bqP5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gIT0gJ251bGwnOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSArIHN0cihlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbInNpbWlsYXJpdHkiXSksIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKSBhbmQg5bqP5Y+3IDwgbGVuKG15dHVwKToKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXl0dXBb5bqP5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-1 人脸识别-手动录入.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-1 人脸识别-手动录入.mix index d9405239..edb88267 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-1 人脸识别-手动录入.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-1 人脸识别-手动录入.mix @@ -1 +1 @@ -序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEB1key659100姓名请输入姓名,只能英文:MixlyModelimagename姓名TrueMixly姓名0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCxobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5GYWNlUmVjb2duaXplcih3aWR0aD0yNDAsIGhlaWdodD0yNDAsIGRiX3BhdGg9J2ZhY2UuZGInKQpNb2RlbC5jbGVhcl9mYWNlKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsyXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbM10sIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9ICdudWxsJzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gKyBzdHIoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJzaW1pbGFyaXR5Il0pLCB4PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCB5PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAg5aeT5ZCNID0gaW5wdXQoJ+ivt+i+k+WFpeWnk+WQje+8jOWPquiDveiLseaWhzonKQogICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU95aeT5ZCNLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjlp5PlkI0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEB1key659100姓名请输入姓名,只能英文:MixlyModelimagename姓名TrueMixly姓名0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCxobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5GYWNlUmVjb2duaXplcih3aWR0aD0yNDAsIGhlaWdodD0yNDAsIGRiX3BhdGg9J2ZhY2UuZGInKQpNb2RlbC5jbGVhcl9mYWNlKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsyXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbM10sIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9ICdudWxsJzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gKyBzdHIoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJzaW1pbGFyaXR5Il0pLCB4PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCB5PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAg5aeT5ZCNID0gaW5wdXQoJ+ivt+i+k+WFpeWnk+WQje+8jOWPquiDveiLseaWhzonKQogICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU95aeT5ZCNLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjlp5PlkI0sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-2 人脸识别-录入改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-2 人脸识别-录入改进.mix index 7d7dd907..eaf868b3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-2 人脸识别-录入改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-3-2 人脸识别-录入改进.mix @@ -1 +1 @@ -序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEB1key659100姓名请输入姓名,只能英文:姓名MixlyModelimagename姓名TrueMixly姓名0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCxobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5GYWNlUmVjb2duaXplcih3aWR0aD0yNDAsIGhlaWdodD0yNDAsIGRiX3BhdGg9J2ZhY2UuZGInKQpNb2RlbC5jbGVhcl9mYWNlKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsyXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbM10sIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9ICdudWxsJzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gKyBzdHIoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJzaW1pbGFyaXR5Il0pLCB4PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCB5PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAg5aeT5ZCNID0gaW5wdXQoJ+ivt+i+k+WFpeWnk+WQje+8jOWPquiDveiLseaWhzonKQogICAgICAgICAgICBpZiDlp5PlkI06CiAgICAgICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU95aeT5ZCNLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5aeT5ZCNLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file +序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEB1key659100姓名请输入姓名,只能英文:姓名MixlyModelimagename姓名TrueMixly姓名0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWFjaGluZQoKCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCxobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5GYWNlUmVjb2duaXplcih3aWR0aD0yNDAsIGhlaWdodD0yNDAsIGRiX3BhdGg9J2ZhY2UuZGInKQpNb2RlbC5jbGVhcl9mYWNlKCkKd2hpbGUgVHJ1ZToKICAgIGltYWdlID0gY2FtZXJhLmNhcHR1cmUoKQogICAgb25ib2FyZF90ZnQuZGlzcGxheShpbWFnZSwgc3luYz1GYWxzZSkKICAgIF9yZXN1bHRzID0gTW9kZWwucnVuKGltYWdlLmltYWdlKQogICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMpOgogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsyXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbM10sIDB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9ICdudWxsJzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gKyBzdHIoZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJzaW1pbGFyaXR5Il0pLCB4PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCB5PWVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzFdLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAg5aeT5ZCNID0gaW5wdXQoJ+ivt+i+k+WFpeWnk+WQje+8jOWPquiDveiLseaWhzonKQogICAgICAgICAgICBpZiDlp5PlkI06CiAgICAgICAgICAgICAgICBwcmludChNb2RlbC5lbnJvbGwoaW1hZ2UuaW1hZ2UsIG5hbWU95aeT5ZCNLCB2YWxpZGF0ZSA9IDEpKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5aeT5ZCNLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-1 人脸识别-刷脸签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-1 人脸识别-刷脸签到.mix index 40a6ffdf..b1b75b2e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-1 人脸识别-刷脸签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-1 人脸识别-刷脸签到.mix @@ -1 +1 @@ -mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEa+签到.txtfMixlyHello name_results0f\r\nff988100ANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gIT0gJ251bGwnOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSArIHN0cihlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbInNpbWlsYXJpdHkiXSksIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBmID0gb3Blbign562+5YiwLnR4dCcsICdhKycpCiAgICAgICAgICAgIGYud3JpdGUoKHJ0Y3RpbWUuc3RydGltZSgpICsgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0pKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCkgYW5kIOW6j+WPtyA8IGxlbihteXR1cCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQoTW9kZWwuZW5yb2xsKGltYWdlLmltYWdlLCBuYW1lPW15dHVwW+W6j+WPt10sIHZhbGlkYXRlID0gMSkpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W6j+WPt10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModelWHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSENEQname_results0nullTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEa+签到.txtfMixlyHello name_results0f\r\nff988100ANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQp3aGlsZSBUcnVlOgogICAgaW1hZ2UgPSBjYW1lcmEuY2FwdHVyZSgpCiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGltYWdlLCBzeW5jPUZhbHNlKQogICAgX3Jlc3VsdHMgPSBNb2RlbC5ydW4oaW1hZ2UuaW1hZ2UpCiAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cyk6CiAgICAgICAgb25ib2FyZF90ZnQucmVjdChlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzJdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVszXSwgMHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgaWYgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0gIT0gJ251bGwnOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSArIHN0cihlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbInNpbWlsYXJpdHkiXSksIHg9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMF0sIHk9ZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMV0sIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZjgwMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBmID0gb3Blbign562+5YiwLnR4dCcsICdhKycpCiAgICAgICAgICAgIGYud3JpdGUoKHJ0Y3RpbWUuc3RydGltZSgpICsgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsICJwZXJzb24iLDApWyJuYW1lIl0pKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCkgYW5kIOW6j+WPtyA8IGxlbihteXR1cCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQoTW9kZWwuZW5yb2xsKGltYWdlLmltYWdlLCBuYW1lPW15dHVwW+W6j+WPt10sIHZhbGlkYXRlID0gMSkpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W6j+WPt10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-2 人脸识别-签到改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-2 人脸识别-签到改进.mix index 8349f429..4d073ae1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-2 人脸识别-签到改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/学期A/4-4-2 人脸识别-签到改进.mix @@ -1 +1 @@ -mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModeloldname2025,11,1,11,52,9WHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSEANDNEQname_results0nullNEQname_results0oldnameTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEa+签到.txtfMixlyHello name_results0f\r\nffoldnamename_results0988100ANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQpvbGRuYW1lID0gJycKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDExLDEsMTEsNTIsOSkpCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM9RmFsc2UpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSAhPSAnbnVsbCcgYW5kIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9IG9sZG5hbWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICsgc3RyKGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsic2ltaWxhcml0eSJdKSwgeD1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgeT1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsxXSwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGYgPSBvcGVuKCfnrb7liLAudHh0JywgJ2ErJykKICAgICAgICAgICAgZi53cml0ZSgocnRjdGltZS5zdHJ0aW1lKCkgKyBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSkpCiAgICAgICAgICAgIGYud3JpdGUoJ1xyXG4nKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAgb2xkbmFtZSA9IGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCkgYW5kIOW6j+WPtyA8IGxlbihteXR1cCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQoTW9kZWwuZW5yb2xsKGltYWdlLmltYWdlLCBuYW1lPW15dHVwW+W6j+WPt10sIHZhbGlkYXRlID0gMSkpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W6j+WPt10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup傅骞张三李四王五赵六田七序号0R240X240FalseFalseModel240240face.dbModeloldname2025,11,1,11,52,9WHILETRUEimageimageFALSE_resultsModelimage_resultsrect20FaceDetector0_results020FaceDetector1_results020FaceDetector2_results015FaceDetector3_results0255,255,0#ff0000FALSEANDNEQname_results0nullNEQname_results0oldnameTrueMixlyHelloname_results0Mixlyxsimilarity_results00FaceDetector0_results00FaceDetector1_results020255,255,0#ff0000FALSEa+签到.txtfMixlyHello name_results0f\r\nffoldnamename_results0988100ANDB1keyLT序号mytup659100MixlyModelimagenamemytup0序号TrueMixlymytup0序号0FALSEADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWFjaGluZQoKCm15dHVwPSAoJ+WChemqnicsICflvKDkuIknLCAn5p2O5ZubJywgJ+eOi+S6lCcsICfotbXlha0nLCAn55Sw5LiDJykK5bqP5Y+3ID0gMApjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPTI0MCwgaGVpZ2h0PTI0MCwgZGJfcGF0aD0nZmFjZS5kYicpCk1vZGVsLmNsZWFyX2ZhY2UoKQpvbGRuYW1lID0gJycKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDExLDEsMTEsNTIsOSkpCndoaWxlIFRydWU6CiAgICBpbWFnZSA9IGNhbWVyYS5jYXB0dXJlKCkKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoaW1hZ2UsIHN5bmM9RmFsc2UpCiAgICBfcmVzdWx0cyA9IE1vZGVsLnJ1bihpbWFnZS5pbWFnZSkKICAgIGlmIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzKToKICAgICAgICBvbmJvYXJkX3RmdC5yZWN0KGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzBdLCBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsxXSwgZXNwX2RsLmFuYWx5emUoX3Jlc3VsdHMsImJveCIsMClbMl0sIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCJib3giLDApWzNdLCAweGY4MDAsc3luYz1GYWxzZSkKICAgICAgICBpZiBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSAhPSAnbnVsbCcgYW5kIGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICE9IG9sZG5hbWU6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdICsgc3RyKGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsic2ltaWxhcml0eSJdKSwgeD1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVswXSwgeT1lc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywiYm94IiwwKVsxXSwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmODAwLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGYgPSBvcGVuKCfnrb7liLAudHh0JywgJ2ErJykKICAgICAgICAgICAgZi53cml0ZSgocnRjdGltZS5zdHJ0aW1lKCkgKyBlc3BfZGwuYW5hbHl6ZShfcmVzdWx0cywgInBlcnNvbiIsMClbIm5hbWUiXSkpCiAgICAgICAgICAgIGYud3JpdGUoJ1xyXG4nKQogICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAgb2xkbmFtZSA9IGVzcF9kbC5hbmFseXplKF9yZXN1bHRzLCAicGVyc29uIiwwKVsibmFtZSJdCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCkgYW5kIOW6j+WPtyA8IGxlbihteXR1cCk6CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICAgICAgcHJpbnQoTW9kZWwuZW5yb2xsKGltYWdlLmltYWdlLCBuYW1lPW15dHVwW+W6j+WPt10sIHZhbGlkYXRlID0gMSkpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15dHVwW+W6j+WPt10sIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-1 你好世界-静态显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-1 你好世界-静态显示.mix index e01cca67..0fb4e600 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-1 你好世界-静态显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-1 你好世界-静态显示.mix @@ -1 +1 @@ -True你好,世界!0TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfkvaDlpb3vvIzkuJbnlYzvvIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file +True你好,世界!0TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfkvaDlpb3vvIzkuJbnlYzvvIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-2 你好世界-滚动显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-2 你好世界-滚动显示.mix index e2b06091..6088294e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-2 你好世界-滚动显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/0-1-2 你好世界-滚动显示.mix @@ -1 +1 @@ -WHILETRUE你好,世界!{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM5LiW55WM77yBJywgY29sb3I9MHhmZmZmKQo= \ No newline at end of file +WHILETRUE你好,世界!{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnNjcm9sbCgn5L2g5aW977yM5LiW55WM77yBJywgY29sb3I9MHhmZmZmKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-1 显示欢迎词-双行静态显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-1 显示欢迎词-双行静态显示.mix index f87c043e..ff744d87 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-1 显示欢迎词-双行静态显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-1 显示欢迎词-双行静态显示.mix @@ -1 +1 @@ -True热烈欢迎06030255,255,0#ffffffTRUETrue米思齐!013030255,255,0#ffffffTRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfnsbPmgJ3pvZDvvIEnLCB4PTAsIHk9MTMwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgcGFzcwo= \ No newline at end of file +True热烈欢迎06030255,255,0#ffffffTRUETrue米思齐!013030255,255,0#ffffffTRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCm9uYm9hcmRfdGZ0LnNob3dzKCfnsbPmgJ3pvZDvvIEnLCB4PTAsIHk9MTMwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-2 显示欢迎词-双行动态显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-2 显示欢迎词-双行动态显示.mix index 69acb0bb..a7b8f62e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-2 显示欢迎词-双行动态显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-1-2 显示欢迎词-双行动态显示.mix @@ -1 +1 @@ -True热烈欢迎04030255,255,0#ffffffTRUEWHILETRUE米思齐!130505255,255,0#ffffff{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NDAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zY3JvbGwoJ+exs+aAnem9kO+8gScsIHk9MTMwLCBzaXplPTUsIHNwZWVkPTUsIHNwYWNlPTAsIGNvbG9yPTB4ZmZmZikK \ No newline at end of file +True热烈欢迎04030255,255,0#ffffffTRUEWHILETRUE米思齐!130505255,255,0#ffffff{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NDAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5zY3JvbGwoJ+exs+aAnem9kO+8gScsIHk9MTMwLCBzaXplPTUsIHNwZWVkPTUsIHNwYWNlPTAsIGNvbG9yPTB4ZmZmZikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-1 切换欢迎词-双行静态显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-1 切换欢迎词-双行静态显示.mix index 9e432fd4..052e3331 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-1 切换欢迎词-双行静态显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-1 切换欢迎词-双行静态显示.mix @@ -1 +1 @@ -True热烈欢迎06030255,255,0#ffffffTRUE显示内容米思齐!WHILETRUEB1key显示内容米思齐!B2key显示内容北师大!True北师大!显示内容013030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCuaYvuekuuWGheWuuSA9ICfnsbPmgJ3pvZDvvIEnCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65YaF5a65ID0gJ+exs+aAnem9kO+8gScKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrlhoXlrrkgPSAn5YyX5biI5aSn77yBJwogICAgb25ib2FyZF90ZnQuc2hvd3Mo5pi+56S65YaF5a65LCB4PTAsIHk9MTMwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +True热烈欢迎06030255,255,0#ffffffTRUE显示内容米思齐!WHILETRUEB1key显示内容米思齐!B2key显示内容北师大!True北师大!显示内容013030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCuaYvuekuuWGheWuuSA9ICfnsbPmgJ3pvZDvvIEnCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65YaF5a65ID0gJ+exs+aAnem9kO+8gScKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrlhoXlrrkgPSAn5YyX5biI5aSn77yBJwogICAgb25ib2FyZF90ZnQuc2hvd3Mo5pi+56S65YaF5a65LCB4PTAsIHk9MTMwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-2 切换欢迎词-双行动态显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-2 切换欢迎词-双行动态显示.mix index 2f40bdfe..4109711b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-2 切换欢迎词-双行动态显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/1-2-2 切换欢迎词-双行动态显示.mix @@ -1 +1 @@ -B1 B2要按得久一点才会切换True热烈欢迎06030255,255,0#ffffffTRUE显示内容米思齐!WHILETRUEB1key显示内容米思齐!B2key显示内容北师大!米思齐!显示内容130505255,255,0#ffffff{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCuaYvuekuuWGheWuuSA9ICfnsbPmgJ3pvZDvvIEnCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65YaF5a65ID0gJ+exs+aAnem9kO+8gScKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrlhoXlrrkgPSAn5YyX5biI5aSn77yBJwogICAgb25ib2FyZF90ZnQuc2Nyb2xsKOaYvuekuuWGheWuuSwgeT0xMzAsIHNpemU9NSwgc3BlZWQ9NSwgc3BhY2U9MCwgY29sb3I9MHhmZmZmKQo= \ No newline at end of file +B1 B2要按得久一点才会切换True热烈欢迎06030255,255,0#ffffffTRUE显示内容米思齐!WHILETRUEB1key显示内容米思齐!B2key显示内容北师大!米思齐!显示内容130505255,255,0#ffffff{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfng63ng4jmrKLov44nLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCuaYvuekuuWGheWuuSA9ICfnsbPmgJ3pvZDvvIEnCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65YaF5a65ID0gJ+exs+aAnem9kO+8gScKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmmL7npLrlhoXlrrkgPSAn5YyX5biI5aSn77yBJwogICAgb25ib2FyZF90ZnQuc2Nyb2xsKOaYvuekuuWGheWuuSwgeT0xMzAsIHNpemU9NSwgc3BlZWQ9NSwgc3BhY2U9MCwgY29sb3I9MHhmZmZmKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-1 声控开关灯-开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-1 声控开关灯-开关灯.mix index 5e2e9e11..3ea765fa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-1 声控开关灯-开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-1 声控开关灯-开关灯.mix @@ -1 +1 @@ -修改声音阈值和延时声音阈值2000WHILETRUEGT声音阈值1-12-1s0.5{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgrlo7Dpn7PpmIjlgLwgPSAyMDAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX3NvdW5kLnJlYWQoKSA+IOWjsOmfs+mYiOWAvDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsLTEpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +修改声音阈值和延时声音阈值2000WHILETRUEGT声音阈值1-12-1s0.5{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCgrlo7Dpn7PpmIjlgLwgPSAyMDAwCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX3NvdW5kLnJlYWQoKSA+IOWjsOmfs+mYiOWAvDoKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsLTEpCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-2 声控开关灯-延时灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-2 声控开关灯-延时灯.mix index 05698b47..735ebf0f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-2 声控开关灯-延时灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-1-2 声控开关灯-延时灯.mix @@ -1 +1 @@ -修改声音阈值和延时声音阈值2000WHILETRUEGT声音阈值1121s11020{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCuWjsOmfs+mYiOWAvCA9IDIwMDAKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfc291bmQucmVhZCgpID4g5aOw6Z+z6ZiI5YC8OgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file +修改声音阈值和延时声音阈值2000WHILETRUEGT声音阈值1121s11020{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCuWjsOmfs+mYiOWAvCA9IDIwMDAKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfc291bmQucmVhZCgpID4g5aOw6Z+z6ZiI5YC8OgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-1 语音开关灯-开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-1 语音开关灯-开关灯.mix index a4dc4104..09934f2c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-1 语音开关灯-开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-1 语音开关灯-开关灯.mix @@ -1,2 +1,2 @@ -首先说 小智小智 激活语音识别 +首先说 小智小智 激活语音识别 然后说 开灯 或 关灯1WHILETRUE231121241020{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyMyk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-2 语音开关灯-自定义语音开关灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-2 语音开关灯-自定义语音开关灯.mix index b2fc145f..5fb2e0a1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-2 语音开关灯-自定义语音开关灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-2-2 语音开关灯-自定义语音开关灯.mix @@ -1,4 +1,4 @@ -首先说 小智小智 激活语音识别 +首先说 小智小智 激活语音识别 然后 说 学习命令词,学习完后,说退出学习 开灯:可以用芝麻开门,第一个命令词 关灯:可以用小猪快跑,第二个命令词1WHILETRUE3112141020{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgzKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDQpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-1 语音交互灯-亮度可变灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-1 语音交互灯-亮度可变灯.mix index ef0a5df7..234d3e81 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-1 语音交互灯-亮度可变灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-1 语音交互灯-亮度可变灯.mix @@ -1 +1 @@ -首先说 小智小智 激活语音识别,然后再说语音指令1WHILETRUE2311002100241020251100min1ADD11101002100min1ADD1210100261100max1MINUS111002100max1MINUS12100{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwgMTAwKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI0KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLCAwKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI1KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIG1pbihvbmJvYXJkX2xlZC5nZXRicmlnaHRuZXNzKDEpICsgMTAsIDEwMCkpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLCBtaW4ob25ib2FyZF9sZWQuZ2V0YnJpZ2h0bmVzcygyKSArIDEwLCAxMDApKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI2KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIG1heChvbmJvYXJkX2xlZC5nZXRicmlnaHRuZXNzKDEpIC0gMTAsIDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwgbWF4KG9uYm9hcmRfbGVkLmdldGJyaWdodG5lc3MoMikgLSAxMCwgMCkpCg== \ No newline at end of file +首先说 小智小智 激活语音识别,然后再说语音指令1WHILETRUE2311002100241020251100min1ADD11101002100min1ADD1210100261100max1MINUS111002100max1MINUS12100{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgMTAwKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwgMTAwKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI0KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLCAwKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI1KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIG1pbihvbmJvYXJkX2xlZC5nZXRicmlnaHRuZXNzKDEpICsgMTAsIDEwMCkpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLCBtaW4ob25ib2FyZF9sZWQuZ2V0YnJpZ2h0bmVzcygyKSArIDEwLCAxMDApKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDI2KToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIG1heChvbmJvYXJkX2xlZC5nZXRicmlnaHRuZXNzKDEpIC0gMTAsIDApKQogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMiwgbWF4KG9uYm9hcmRfbGVkLmdldGJyaWdodG5lc3MoMikgLSAxMCwgMCkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-2 语音交互灯-命令词管理.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-2 语音交互灯-命令词管理.mix index 18ff5513..ae0277da 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-2 语音交互灯-命令词管理.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/2-3-2 语音交互灯-命令词管理.mix @@ -1,4 +1,4 @@ -首先说 小智小智 激活语音识别 +首先说 小智小智 激活语音识别 然后 说 学习命令词,学习完后,说退出学习 开灯:可以用打开第一灯,第X个命令词 关灯:可以用关闭第一灯,第X+1个命令词 diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-1 按键开关门-双按键开关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-1 按键开关门-双按键开关门.mix index b1a99fbd..8e44b0c8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-1 按键开关门-双按键开关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-1 按键开关门-双按键开关门.mix @@ -1 +1 @@ -object_picture.DOOR_CLOSETRUEWHILETRUEB1keyobject_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEB2keyobject_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +object_picture.DOOR_CLOSETRUEWHILETRUEB1keyobject_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEB2keyobject_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-2 按键开关门-单按键开关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-2 按键开关门-单按键开关门.mix index 96d469f7..1835a780 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-2 按键开关门-单按键开关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-1-2 按键开关门-单按键开关门.mix @@ -1 +1 @@ -object_picture.DOOR_CLOSETRUE开门FALSEWHILETRUEB1key开门开门开门object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEobject_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCuW8gOmXqCA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA6ZeoID0gbm90IOW8gOmXqAogICAgICAgIGlmIOW8gOmXqDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +object_picture.DOOR_CLOSETRUE开门FALSEWHILETRUEB1key开门开门开门object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEobject_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCuW8gOmXqCA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA6ZeoID0gbm90IOW8gOmXqAogICAgICAgIGlmIOW8gOmXqDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-1 靠近开关门-自动开门定时关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-1 靠近开关门-自动开门定时关门.mix index 2281d920..3d267946 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-1 靠近开关门-自动开门定时关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-1 靠近开关门-自动开门定时关门.mix @@ -1 +1 @@ -WHILETRUEobject_picture.DOOR_CLOSETRUEORGTl200GTr200object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs4object_picture.DOOR_OPENINGTRUEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMjAwIG9yIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDIwMDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDQpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEobject_picture.DOOR_CLOSETRUEORGTl200GTr200object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs4object_picture.DOOR_OPENINGTRUEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYgb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMjAwIG9yIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDIwMDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDQpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-2 靠近开关门-自动开门按需关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-2 靠近开关门-自动开门按需关门.mix index e33bfb49..768c418c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-2 靠近开关门-自动开门按需关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-2-2 靠近开关门-自动开门按需关门.mix @@ -1 +1 @@ -WHILETRUEobject_picture.DOOR_CLOSETRUEORGTl200GTr200object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs1trueANDLTl50LTr50object_picture.DOOR_OPENINGTRUEs1{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAyMDAgb3Igb25ib2FyZF9hbHNfci5wc19ubCgpID4gMjAwOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5wc19ubCgpIDwgNTAgYW5kIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDUwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +WHILETRUEobject_picture.DOOR_CLOSETRUEORGTl200GTr200object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs1trueANDLTl50LTr50object_picture.DOOR_OPENINGTRUEs1{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBvbmJvYXJkX2Fsc19sLnBzX25sKCkgPiAyMDAgb3Igb25ib2FyZF9hbHNfci5wc19ubCgpID4gMjAwOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5wc19ubCgpIDwgNTAgYW5kIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA8IDUwKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-1 刷卡开关门-读到卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-1 刷卡开关门-读到卡开门.mix index 1ba5ceb5..afddd4e7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-1 刷卡开关门-读到卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-1 刷卡开关门-读到卡开门.mix @@ -1 +1 @@ -WHILETRUEobject_picture.DOOR_CLOSETRUETrue659100object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs4object_picture.DOOR_OPENINGTRUEs1{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCkgPT0gVHJ1ZToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCg0KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUEobject_picture.DOOR_CLOSETRUETrue659100object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs4object_picture.DOOR_OPENINGTRUEs1{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgaWYgZXh0X3JmaWQuc2Nhbl9jYXJkKCkgPT0gVHJ1ZToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCg0KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-2 刷卡开关门-特定卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-2 刷卡开关门-特定卡开门.mix index 170e0c6f..f55ac5b2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-2 刷卡开关门-特定卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-3-2 刷卡开关门-特定卡开门.mix @@ -1 +1 @@ -用自己的卡号来替代7412291106WHILETRUEobject_picture.DOOR_CLOSETRUE卡号Mixly卡号s1inx卡号7412291106,1,2,3659100object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs4object_picture.DOOR_OPENINGTRUEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIOWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBwcmludCjljaHlj7cpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiDljaHlj7cgaW4gWzc0MTIyOTExMDYsMSwyLDNdOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDQpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file +用自己的卡号来替代7412291106WHILETRUEobject_picture.DOOR_CLOSETRUE卡号Mixly卡号s1inx卡号7412291106,1,2,3659100object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs4object_picture.DOOR_OPENINGTRUEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKaW1wb3J0IG1hY2hpbmUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIOWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBwcmludCjljaHlj7cpCiAgICB0aW1lLnNsZWVwKDEpCiAgICBpZiDljaHlj7cgaW4gWzc0MTIyOTExMDYsMSwyLDNdOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDQpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-1 人脸开关门-有人就开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-1 人脸开关门-有人就开门.mix index 45c65401..329302fa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-1 人脸开关门-有人就开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-1 人脸开关门-有人就开门.mix @@ -1 +1 @@ -R240X240FaceRecognizerModelWHILETRUEimageTRUE人脸个数ModelFALSE人脸个数object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs3object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAg5Lq66IS45Liq5pWwID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1GYWxzZSkKICAgIGlmIOS6uuiEuOS4quaVsDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +R240X240FaceRecognizerModelWHILETRUEimageTRUE人脸个数ModelFALSE人脸个数object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEs3object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAg5Lq66IS45Liq5pWwID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1GYWxzZSkKICAgIGlmIOS6uuiEuOS4quaVsDoKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDMpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-2 人脸开关门-人走才关门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-2 人脸开关门-人走才关门.mix index b1d3e7b6..e2a07b93 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-2 人脸开关门-人走才关门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/3-4-2 人脸开关门-人走才关门.mix @@ -1 +1 @@ -R240X240FaceRecognizerModelWHILETRUEimageTRUE人脸ModelTRUE人脸object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEtrue人脸ModelFALSEEQ人脸object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAg5Lq66IS4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYg5Lq66IS4OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIOS6uuiEuCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGlmICjkurrohLggPT0gTm9uZSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +R240X240FaceRecognizerModelWHILETRUEimageTRUE人脸ModelTRUE人脸object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_OPENTRUEtrue人脸ModelFALSEEQ人脸object_picture.DOOR_OPENINGTRUEs1object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAg5Lq66IS4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYg5Lq66IS4OgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIOS6uuiEuCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGlmICjkurrohLggPT0gTm9uZSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-1 实时时钟-实时显示时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-1 实时时钟-实时显示时间.mix index 620adab3..f1c85a74 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-1 实时时钟-实时显示时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-1 实时时钟-实时显示时间.mix @@ -1 +1 @@ -2025,6,17,10,30,3WHILETRUEs1Mixly0703255,255,0#ffffffTRUE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDYsMTcsMTAsMzAsMykpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +2025,6,17,10,30,3WHILETRUEs1Mixly0703255,255,0#ffffffTRUE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDYsMTcsMTAsMzAsMykpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDEpCiAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-2 实时时钟-按键显示时间.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-2 实时时钟-按键显示时间.mix index 2806ef00..1d280d60 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-2 实时时钟-按键显示时间.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-2 实时时钟-按键显示时间.mix @@ -1 +1 @@ -2025,6,17,10,30,3WHILETRUEB1keyMixly0703255,255,0#ffffffTRUEs1TRUE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDYsMTcsMTAsMzAsMykpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file +2025,6,17,10,30,3WHILETRUEB1keyMixly0703255,255,0#ffffffTRUEs1TRUE{}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDYsMTcsMTAsMzAsMykpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-3 实时时钟-按键显示时间变化.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-3 实时时钟-按键显示时间变化.mix index 6da56368..c34e337d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-3 实时时钟-按键显示时间变化.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-1-3 实时时钟-按键显示时间变化.mix @@ -1 +1 @@ -2025,6,17,10,30,3WHILETRUEB1keytrueMixly0703255,255,0#ffffffTRUEs1B1keyTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw2LDE3LDEwLDMwLDMpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIGlmIChub3QgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file +2025,6,17,10,30,3WHILETRUEB1keytrueMixly0703255,255,0#ffffffTRUEs1B1keyTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgdGltZQoKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw2LDE3LDEwLDMwLDMpKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIGlmIChub3QgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-1 延时闹钟-10秒延时响铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-1 延时闹钟-10秒延时响铃.mix index 89ac7aa4..1797d6bc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-1 延时闹钟-10秒延时响铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-1 延时闹钟-10秒延时响铃.mix @@ -1 +1 @@ -2025,6,17,10,30,3WHILETRUEMixly0703255,255,0#ffffffTRUEB1key0,1,2,310-1-1iMixly0703255,255,0#ffffffTRUETrue10Helloxi秒后响铃020020255,255,0#ffffffTRUEs1onboard_music.DADADADUM{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCwgLTEsIC0xKToKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaSkgKyAn56eS5ZCO5ZON6ZODJywgeD0wLCB5PTIwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file +2025,6,17,10,30,3WHILETRUEMixly0703255,255,0#ffffffTRUEB1key0,1,2,310-1-1iMixly0703255,255,0#ffffffTRUETrue10Helloxi秒后响铃020020255,255,0#ffffffTRUEs1onboard_music.DADADADUM{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCwgLTEsIC0xKToKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaSkgKyAn56eS5ZCO5ZON6ZODJywgeD0wLCB5PTIwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-2 延时闹钟-10秒响铃进阶.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-2 延时闹钟-10秒响铃进阶.mix index 62c5fdb6..b4cc0d60 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-2 延时闹钟-10秒响铃进阶.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-2-2 延时闹钟-10秒响铃进阶.mix @@ -1 +1 @@ -2025,6,17,10,30,3WHILETRUEMixly0703255,255,0#ffffffTRUEB1key0,1,2,310-1-1iMixly0703255,255,0#ffffffTRUETrue10Helloxi秒后响铃020020255,255,0#ffffffTRUE659100s0.9onboard_music.DADADADUM{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCwgLTEsIC0xKToKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaSkgKyAn56eS5ZCO5ZON6ZODJywgeD0wLCB5PTIwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuOSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +2025,6,17,10,30,3WHILETRUEMixly0703255,255,0#ffffffTRUEB1key0,1,2,310-1-1iMixly0703255,255,0#ffffffTRUETrue10Helloxi秒后响铃020020255,255,0#ffffffTRUE659100s0.9onboard_music.DADADADUM{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCwgLTEsIC0xKToKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIoaSkgKyAn56eS5ZCO5ZON6ZODJywgeD0wLCB5PTIwMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuOSkKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-1 定点闹钟-定点响铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-1 定点闹钟-定点响铃.mix index ebaed3a1..02d2a12a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-1 定点闹钟-定点响铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-1 定点闹钟-定点响铃.mix @@ -1 +1 @@ -2025,6,17,10,30,3闹铃时刻2025,6,17,10,30,8WHILETRUEtrues1FALSEMixly0703255,255,0#ffffffFALSETrue10闹铃:2025,6,17,17,19,5闹铃时刻020010255,255,0#ffffffTRUEEQ2025,6,17,17,19,5闹铃时刻onboard_music.BA_DING{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkK6Ze56ZOD5pe25Yi7ID0gKDIwMjUsNiwxNywxMCwzMCw4KQp3aGlsZSBUcnVlOgogICAgd2hpbGUgVHJ1ZToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Ze56ZODOicgKyBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7KSwgeD0wLCB5PTIwMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBpZiAocnRjdGltZS5zdHJ0aW1lKCkgPT0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuykpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK" id="$g;PcPZ[FOZ/!SyV43a,">onboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw2LDE3LDEwLDMwLDMpKQrpl7npk4Pml7bliLsgPSAoMjAyNSw2LDE3LDEwLDMwLDgpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpl7npk4M6JyArIHJ0Y3RpbWUuc3RydGltZSjpl7npk4Pml7bliLspLCB4PTAsIHk9MjAwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBpZiAocnRjdGltZS5zdHJ0aW1lKCkgPj0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuykpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +2025,6,17,10,30,3闹铃时刻2025,6,17,10,30,8WHILETRUEtrues1FALSEMixly0703255,255,0#ffffffFALSETrue10闹铃:2025,6,17,17,19,5闹铃时刻020010255,255,0#ffffffTRUEEQ2025,6,17,17,19,5闹铃时刻onboard_music.BA_DING{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkK6Ze56ZOD5pe25Yi7ID0gKDIwMjUsNiwxNywxMCwzMCw4KQp3aGlsZSBUcnVlOgogICAgd2hpbGUgVHJ1ZToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Ze56ZODOicgKyBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7KSwgeD0wLCB5PTIwMCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBpZiAocnRjdGltZS5zdHJ0aW1lKCkgPT0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuykpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK" id="$g;PcPZ[FOZ/!SyV43a,">onboard_music.DADADADUM{}aW1wb3J0IHJ0Y3RpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw2LDE3LDEwLDMwLDMpKQrpl7npk4Pml7bliLsgPSAoMjAyNSw2LDE3LDEwLDMwLDgpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpl7npk4M6JyArIHJ0Y3RpbWUuc3RydGltZSjpl7npk4Pml7bliLspLCB4PTAsIHk9MjAwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBpZiAocnRjdGltZS5zdHJ0aW1lKCkgPj0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuykpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-2 定点闹钟-多个定点响铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-2 定点闹钟-多个定点响铃.mix index 4197ab28..c93c9583 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-2 定点闹钟-多个定点响铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/4-3-2 定点闹钟-多个定点响铃.mix @@ -1 +1 @@ -2025,6,17,10,30,3闹铃时刻12025,6,17,10,30,8闹铃时刻22025,6,17,10,30,18WHILETRUEtrues1FALSEMixly0703255,255,0#ffffffFALSETrue10闹铃:2025,6,17,17,19,5闹铃时刻1019010255,255,0#ffffffFALSETrue10闹铃:2025,6,17,17,19,5闹铃时刻2021010255,255,0#ffffffTRUEOREQ2025,6,17,17,19,5闹铃时刻1EQ2025,6,17,17,19,5闹铃时刻2EQ2025,6,17,17,19,5闹铃时刻1onboard_music.JUMP_UPEQ2025,6,17,17,19,5闹铃时刻2onboard_music.JUMP_DOWN{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkK6Ze56ZOD5pe25Yi7MSA9ICgyMDI1LDYsMTcsMTAsMzAsOCkK6Ze56ZOD5pe25Yi7MiA9ICgyMDI1LDYsMTcsMTAsMzAsMTgpCndoaWxlIFRydWU6CiAgICB3aGlsZSBUcnVlOgogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpl7npk4M6JyArIHJ0Y3RpbWUuc3RydGltZSjpl7npk4Pml7bliLsxKSwgeD0wLCB5PTE5MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mXuemTgzonICsgcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzIpLCB4PTAsIHk9MjEwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGlmIChydGN0aW1lLnN0cnRpbWUoKSA9PSBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7MSkgb3IgcnRjdGltZS5zdHJ0aW1lKCkgPT0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzIpKToKICAgICAgICAgICAgYnJlYWsKICAgIGlmIHJ0Y3RpbWUuc3RydGltZSgpID09IHJ0Y3RpbWUuc3RydGltZSjpl7npk4Pml7bliLsxKToKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5KVU1QX1VQKQogICAgaWYgcnRjdGltZS5zdHJ0aW1lKCkgPT0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzIpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkpVTVBfRE9XTikKBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw2LDE3LDEwLDMwLDMpKQrpl7npk4Pml7bliLsxID0gKDIwMjUsNiwxNywxMCwzMCw4KQrpl7npk4Pml7bliLsyID0gKDIwMjUsNiwxNywxMCwzMCwxOCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mXuemTgzonICsgcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzEpLCB4PTAsIHk9MjAwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBpZiAocnRjdGltZS5zdHJ0aW1lKCkgPj0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzEpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Ze56ZODOicgKyBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7MiksIHg9MCwgeT0yMDAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIChydGN0aW1lLnN0cnRpbWUoKSA+PSBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7MikpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file +2025,6,17,10,30,3闹铃时刻12025,6,17,10,30,8闹铃时刻22025,6,17,10,30,18WHILETRUEtrues1FALSEMixly0703255,255,0#ffffffFALSETrue10闹铃:2025,6,17,17,19,5闹铃时刻1019010255,255,0#ffffffFALSETrue10闹铃:2025,6,17,17,19,5闹铃时刻2021010255,255,0#ffffffTRUEOREQ2025,6,17,17,19,5闹铃时刻1EQ2025,6,17,17,19,5闹铃时刻2EQ2025,6,17,17,19,5闹铃时刻1onboard_music.JUMP_UPEQ2025,6,17,17,19,5闹铃时刻2onboard_music.JUMP_DOWN{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJ0Y3RpbWUKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpydGN0aW1lLnNldHRpbWUoKDIwMjUsNiwxNywxMCwzMCwzKSkK6Ze56ZOD5pe25Yi7MSA9ICgyMDI1LDYsMTcsMTAsMzAsOCkK6Ze56ZOD5pe25Yi7MiA9ICgyMDI1LDYsMTcsMTAsMzAsMTgpCndoaWxlIFRydWU6CiAgICB3aGlsZSBUcnVlOgogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTcwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpl7npk4M6JyArIHJ0Y3RpbWUuc3RydGltZSjpl7npk4Pml7bliLsxKSwgeD0wLCB5PTE5MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mXuemTgzonICsgcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzIpLCB4PTAsIHk9MjEwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGlmIChydGN0aW1lLnN0cnRpbWUoKSA9PSBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7MSkgb3IgcnRjdGltZS5zdHJ0aW1lKCkgPT0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzIpKToKICAgICAgICAgICAgYnJlYWsKICAgIGlmIHJ0Y3RpbWUuc3RydGltZSgpID09IHJ0Y3RpbWUuc3RydGltZSjpl7npk4Pml7bliLsxKToKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5KVU1QX1VQKQogICAgaWYgcnRjdGltZS5zdHJ0aW1lKCkgPT0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzIpOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkpVTVBfRE9XTikKBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw2LDE3LDEwLDMwLDMpKQrpl7npk4Pml7bliLsxID0gKDIwMjUsNiwxNywxMCwzMCw4KQrpl7npk4Pml7bliLsyID0gKDIwMjUsNiwxNywxMCwzMCwxOCkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NzAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mXuemTgzonICsgcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzEpLCB4PTAsIHk9MjAwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBpZiAocnRjdGltZS5zdHJ0aW1lKCkgPj0gcnRjdGltZS5zdHJ0aW1lKOmXuemTg+aXtuWIuzEpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuREFEQURBRFVNKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQudGV4dHMocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT03MCwgc2l6ZT0zLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6Ze56ZODOicgKyBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7MiksIHg9MCwgeT0yMDAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIChydGN0aW1lLnN0cnRpbWUoKSA+PSBydGN0aW1lLnN0cnRpbWUo6Ze56ZOD5pe25Yi7MikpOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-1 简单红绿灯-单向路口红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-1 简单红绿灯-单向路口红绿灯.mix index dd0eba42..c0f8a779 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-1 简单红绿灯-单向路口红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-1 简单红绿灯-单向路口红绿灯.mix @@ -1 +1 @@ -WHILETRUE00300s2030300s0.503000s2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgyKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMikK \ No newline at end of file +WHILETRUE00300s2030300s0.503000s2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgyKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-2 简单红绿灯-多向路口红绿.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-2 简单红绿灯-多向路口红绿.mix index 2e839060..676d4ed2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-2 简单红绿灯-多向路口红绿.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-1-2 简单红绿灯-多向路口红绿.mix @@ -1 +1 @@ -WHILETRUE0030033000s203030033000s0.50300030300s1.5330300s0.5{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYlszXSA9ICgzMCwgMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYlszXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMS41KQogICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDMwLCAwKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file +WHILETRUE0030033000s203030033000s0.50300030300s1.5330300s0.5{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYlszXSA9ICgzMCwgMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYlszXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMS41KQogICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDMwLCAwKQogICAgdGltZS5zbGVlcCgwLjUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-1 计时红绿灯-计时红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-1 计时红绿灯-计时红绿灯.mix index eb4dc138..405cdb52 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-1 计时红绿灯-计时红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-1 计时红绿灯-计时红绿灯.mix @@ -1 +1 @@ -WHILETRUE003000,1,2,39-1-1is0.2TrueMixlyi0TRUE030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUE003000,1,2,39-1-1is0.2TrueMixlyi0TRUE030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBmb3IgaSBpbiByYW5nZSg5LCAtMSwgLTEpOgogICAgICAgIHRpbWUuc2xlZXAoMC4yKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKGksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-2 计时红绿灯-计时红绿灯改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-2 计时红绿灯-计时红绿灯改进.mix index 27c72ca4..23b8fb41 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-2 计时红绿灯-计时红绿灯改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-2-2 计时红绿灯-计时红绿灯改进.mix @@ -1 +1 @@ -WHILETRUE00300s2030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUE00300s2030300s0.5030000,1,2,39-1-1is0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0Cgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9yZ2JbMF0gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDIpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-1 无障碍红绿灯-红绿灯变化和声音同步.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-1 无障碍红绿灯-红绿灯变化和声音同步.mix index 3c3990f3..2ef91f44 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-1 无障碍红绿灯-红绿灯变化和声音同步.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-1 无障碍红绿灯-红绿灯变化和声音同步.mix @@ -1 +1 @@ -WHILETRUE003000,1,2,39-1-1i659100s0.1030300s0.5030000,1,2,34-1-1i659200s0.2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGZvciBpIGluIHJhbmdlKDksIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGZvciBpIGluIHJhbmdlKDQsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file +WHILETRUE003000,1,2,39-1-1i659100s0.1030300s0.5030000,1,2,34-1-1i659200s0.2{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGZvciBpIGluIHJhbmdlKDksIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMCwgMCkKICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgIGZvciBpIGluIHJhbmdlKDQsIC0xLCAtMSk6CiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-2 无障碍红绿灯-红绿灯计时和声音同步.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-2 无障碍红绿灯-红绿灯计时和声音同步.mix index 91af63a3..4414dc99 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-2 无障碍红绿灯-红绿灯计时和声音同步.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/5-3-2 无障碍红绿灯-红绿灯计时和声音同步.mix @@ -1 +1 @@ -WHILETRUE003000,1,2,39-1-1i659100s0.1030300s0.5030000,1,2,39-1-1i659200s0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAyMDApCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUE003000,1,2,39-1-1i659100s0.1030300s0.5030000,1,2,39-1-1i659200s0.2TrueMixlyi0TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDAsIDMwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBvbmJvYXJkX3JnYlswXSA9ICgzMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgZm9yIGkgaW4gcmFuZ2UoOSwgLTEsIC0xKToKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAyMDApCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-1 声音大小获取-单次获取.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-1 声音大小获取-单次获取.mix index 05de980c..e9afeee9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-1 声音大小获取-单次获取.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-1 声音大小获取-单次获取.mix @@ -1 +1 @@ -WHILETRUE声音大小TrueMixly声音大小010040255,255,0#ffffffTRUEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+z5aSn5bCPID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkKadow type="math_number" id="(Z=(W7{U_oX=fL*4T`VB">1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrlo7Dpn7PlpKflsI8gPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQp0aW1lLnNsZWVwKDAuMSkKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjlo7Dpn7PlpKflsI8sIHg9MCwgeT0xMDAsIHNpemU9NCwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUE声音大小TrueMixly声音大小010040255,255,0#ffffffTRUEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+z5aSn5bCPID0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMSkKadow type="math_number" id="(Z=(W7{U_oX=fL*4T`VB">1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrlo7Dpn7PlpKflsI8gPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQp0aW1lLnNsZWVwKDAuMSkKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjlo7Dpn7PlpKflsI8sIHg9MCwgeT0xMDAsIHNpemU9NCwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-2 声音大小获取-多次获取.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-2 声音大小获取-多次获取.mix index f7cb1595..f65b8c19 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-2 声音大小获取-多次获取.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-1-2 声音大小获取-多次获取.mix @@ -1 +1 @@ -WHILETRUE声音大小00,1,2,30101iADDa声音大小1s0.1ZHENGCHUa声音大小10TrueMixly声音大小010040255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+z5aSn5bCPID0gMAogICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTAsIDEpOgogICAgICAgIOWjsOmfs+Wkp+WwjyArPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAg5aOw6Z+z5aSn5bCPIC8vPSAxMAogICAgb25ib2FyZF90ZnQuc2hvd3Mo5aOw6Z+z5aSn5bCPLCB4PTAsIHk9MTAwLCBzaXplPTQsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=bmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrlo7Dpn7PlpKflsI8gPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQp0aW1lLnNsZWVwKDAuMSkKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IDAKICAgIGZvciBpIGluIHJhbmdlKDAsIDEwLCAxKToKICAgICAgICDlo7Dpn7PlpKflsI8gKz0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIOWjsOmfs+Wkp+WwjyAvLz0gMTAKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUE声音大小00,1,2,30101iADDa声音大小1s0.1ZHENGCHUa声音大小10TrueMixly声音大小010040255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgp3aGlsZSBUcnVlOgogICAg5aOw6Z+z5aSn5bCPID0gMAogICAgZm9yIGkgaW4gcmFuZ2UoMCwgMTAsIDEpOgogICAgICAgIOWjsOmfs+Wkp+WwjyArPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQogICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAg5aOw6Z+z5aSn5bCPIC8vPSAxMAogICAgb25ib2FyZF90ZnQuc2hvd3Mo5aOw6Z+z5aSn5bCPLCB4PTAsIHk9MTAwLCBzaXplPTQsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=bmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrlo7Dpn7PlpKflsI8gPSBvbmJvYXJkX3NvdW5kLnJlYWQoKQp0aW1lLnNsZWVwKDAuMSkKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IDAKICAgIGZvciBpIGluIHJhbmdlKDAsIDEwLCAxKToKICAgICAgICDlo7Dpn7PlpKflsI8gKz0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIOWjsOmfs+Wkp+WwjyAvLz0gMTAKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-1 声音大小显示-直线显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-1 声音大小显示-直线显示.mix index c623cd92..a315f9e9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-1 声音大小显示-直线显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-1 声音大小显示-直线显示.mix @@ -1 +1 @@ -WHILETRUEFALSE12023912050intx500200002390255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5saW5lKDEyMCwgMjM5LCAxMjAsIGludCgobWF0aF9tYXAob25ib2FyZF9zb3VuZC5yZWFkKCksIDAsIDIwMDAwLCAyMzksIDApKSksIDB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUEFALSE12023912050intx500200002390255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5saW5lKDEyMCwgMjM5LCAxMjAsIGludCgobWF0aF9tYXAob25ib2FyZF9zb3VuZC5yZWFkKCksIDAsIDIwMDAwLCAyMzksIDApKSksIDB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-2 声音大小显示-滚动显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-2 声音大小显示-滚动显示.mix index 7a78e0b1..f6551136 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-2 声音大小显示-滚动显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-2-2 声音大小显示-滚动显示.mix @@ -1 +1 @@ -WHILETRUE23923923950intx500200002390255,255,0#ffffffFALSEshift_left1TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQubGluZSgyMzksIDIzOSwgMjM5LCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCAyMDAwMCwgMjM5LCAwKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUE23923923950intx500200002390255,255,0#ffffffFALSEshift_left1TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfc291bmQKZnJvbSBtaXhweSBpbXBvcnQgbWF0aF9tYXAKCgp3aGlsZSBUcnVlOgogICAgb25ib2FyZF90ZnQubGluZSgyMzksIDIzOSwgMjM5LCBpbnQoKG1hdGhfbWFwKG9uYm9hcmRfc291bmQucmVhZCgpLCAwLCAyMDAwMCwgMjM5LCAwKSkpLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNoaWZ0X2xlZnQoMSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-1 声音大小预警-单次预警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-1 声音大小预警-单次预警.mix index a908bff8..200decca 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-1 声音大小预警-单次预警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-1 声音大小预警-单次预警.mix @@ -1 +1 @@ -WHILETRUE声音大小FALSETrueMixly声音大小010040255,255,0#ffffffTRUEGT声音大小200003000GT声音大小10000303000300s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOWjsOmfs+Wkp+WwjyA+IDIwMDAwOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgIGVsaWYg5aOw6Z+z5aSn5bCPID4gMTAwMDA6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDMwLCAwKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMzAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUE声音大小FALSETrueMixly声音大小010040255,255,0#ffffffTRUEGT声音大小200003000GT声音大小10000303000300s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IG9uYm9hcmRfc291bmQucmVhZCgpCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOWjsOmfs+Wkp+WwjyA+IDIwMDAwOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgIGVsaWYg5aOw6Z+z5aSn5bCPID4gMTAwMDA6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDMwLCAwKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMzAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-2 声音大小预警-平均预警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-2 声音大小预警-平均预警.mix index c7b416c5..ef02800e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-2 声音大小预警-平均预警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/6-3-2 声音大小预警-平均预警.mix @@ -1 +1 @@ -WHILETRUE声音大小00,1,2,30101iADDa声音大小1s0.1ZHENGCHUa声音大小10TrueMixly声音大小010040255,255,0#ffffffTRUEGT声音大小200003000GT声音大小10000303000300s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IDAKICAgIGZvciBpIGluIHJhbmdlKDAsIDEwLCAxKToKICAgICAgICDlo7Dpn7PlpKflsI8gKz0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIOWjsOmfs+Wkp+WwjyAvLz0gMTAKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOWjsOmfs+Wkp+WwjyA+IDIwMDAwOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgIGVsaWYg5aOw6Z+z5aSn5bCPID4gMTAwMDA6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDMwLCAwKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMzAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file +WHILETRUE声音大小00,1,2,30101iADDa声音大小1s0.1ZHENGCHUa声音大小10TrueMixly声音大小010040255,255,0#ffffffTRUEGT声音大小200003000GT声音大小10000303000300s1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKd2hpbGUgVHJ1ZToKICAgIOWjsOmfs+Wkp+WwjyA9IDAKICAgIGZvciBpIGluIHJhbmdlKDAsIDEwLCAxKToKICAgICAgICDlo7Dpn7PlpKflsI8gKz0gb25ib2FyZF9zb3VuZC5yZWFkKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIOWjsOmfs+Wkp+WwjyAvLz0gMTAKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWjsOmfs+Wkp+WwjywgeD0wLCB5PTEwMCwgc2l6ZT00LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIOWjsOmfs+Wkp+WwjyA+IDIwMDAwOgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgIGVsaWYg5aOw6Z+z5aSn5bCPID4gMTAwMDA6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDMwLCAwKSkKICAgIGVsc2U6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMzAsIDApKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgdGltZS5zbGVlcCgxKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/7-1 按键红绿灯.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/7-1 按键红绿灯.mix index 490fcf1a..b61bb619 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/7-1 按键红绿灯.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/3年级/7-1 按键红绿灯.mix @@ -1 +1 @@ -WHILETRUE0300030300B1key03000330300s0.50030033000s1.503030033000s0.5{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9ICgzMCwgMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxLjUpCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiWzNdID0gKDMwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKe="procedures_defnoreturn" id="Of7OzMsFRPl11YmM`Y4T" x="-1930" y="31">设置RGB灯0序号0R0G0B{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rlJHQueBryjluo/lj7csIFIsIEcsIEIpOgogICAgb25ib2FyZF9yZ2Jb5bqP5Y+3XSA9IChSLCBHLCBCKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICDorr7nva5SR0Lnga8oMywgMCwgMzAsIDApCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgICAgIOiuvue9rlJHQueBrygzLCAzMCwgMzAsIDApCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAg6K6+572uUkdC54GvKDAsIDAsIDMwLCAwKQogICAgICAgIOiuvue9rlJHQueBrygzLCAzMCwgMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDEuNSkKICAgICAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgICAgIOiuvue9rlJHQueBrygzLCAzMCwgMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file +WHILETRUE0300030300B1key03000330300s0.50030033000s1.503030033000s0.5{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfcmdiWzBdID0gKDMwLCAwLCAwKQogICAgb25ib2FyZF9yZ2JbM10gPSAoMCwgMzAsIDApCiAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDAsIDApCiAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoMzAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3JnYlswXSA9ICgwLCAzMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYlszXSA9ICgzMCwgMCwgMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxLjUpCiAgICAgICAgb25ib2FyZF9yZ2JbMF0gPSAoMzAsIDMwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiWzNdID0gKDMwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKe="procedures_defnoreturn" id="Of7OzMsFRPl11YmM`Y4T" x="-1930" y="31">设置RGB灯0序号0R0G0B{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKZGVmIOiuvue9rlJHQueBryjluo/lj7csIFIsIEcsIEIpOgogICAgb25ib2FyZF9yZ2Jb5bqP5Y+3XSA9IChSLCBHLCBCKQogICAgb25ib2FyZF9yZ2Iud3JpdGUoKQoKCndoaWxlIFRydWU6CiAgICDorr7nva5SR0Lnga8oMCwgMzAsIDAsIDApCiAgICDorr7nva5SR0Lnga8oMywgMCwgMzAsIDApCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg6K6+572uUkdC54GvKDAsIDMwLCAwLCAwKQogICAgICAgIOiuvue9rlJHQueBrygzLCAzMCwgMzAsIDApCiAgICAgICAgdGltZS5zbGVlcCgwLjUpCiAgICAgICAg6K6+572uUkdC54GvKDAsIDAsIDMwLCAwKQogICAgICAgIOiuvue9rlJHQueBrygzLCAzMCwgMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDEuNSkKICAgICAgICDorr7nva5SR0Lnga8oMCwgMzAsIDMwLCAwKQogICAgICAgIOiuvue9rlJHQueBrygzLCAzMCwgMCwgMCkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-1 你好世界-传感显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-1 你好世界-传感显示.mix index 9163d4cb..61defc26 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-1 你好世界-传感显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-1 你好世界-传感显示.mix @@ -1 +1 @@ -WHILETRUEs1FALSEFalseMixly温度:Mixlyxtemperature06030255,255,0#ffffffFALSEFalseMixly湿度:Mixlyxhumidity016030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4qeW6pjonICsgc3RyKG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCkpLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqY6JyArIHN0cihvbmJvYXJkX3Rocy5odW1pZGl0eSgpKSwgeD0wLCB5PTE2MCwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUEs1FALSEFalseMixly温度:Mixlyxtemperature06030255,255,0#ffffffFALSEFalseMixly湿度:Mixlyxhumidity016030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4qeW6pjonICsgc3RyKG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCkpLCB4PTAsIHk9NjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPUZhbHNlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqY6JyArIHN0cihvbmJvYXJkX3Rocy5odW1pZGl0eSgpKSwgeD0wLCB5PTE2MCwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9RmFsc2UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-2 你好世界-优化显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-2 你好世界-优化显示.mix index 1318a17e..4fd3edd1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-2 你好世界-优化显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/0-1-2 你好世界-优化显示.mix @@ -1 +1 @@ -WHILETRUEs1FALSETrueMixly温度:Mixlyxintxtemperature06030255,255,0#ffffffFALSETrueMixly湿度:Mixlyxintxhumidity014030255,255,0#ffffffTRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn5rip5bqmOicgKyBzdHIoaW50KG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCkpKSwgeD0wLCB5PTYwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqY6JyArIHN0cihpbnQob25ib2FyZF90aHMuaHVtaWRpdHkoKSkpLCB4PTAsIHk9MTQwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +WHILETRUEs1FALSETrueMixly温度:Mixlyxintxtemperature06030255,255,0#ffffffFALSETrueMixly湿度:Mixlyxintxhumidity014030255,255,0#ffffffTRUE{}aW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCgp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5zaG93cygn5rip5bqmOicgKyBzdHIoaW50KG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCkpKSwgeD0wLCB5PTYwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmub/luqY6JyArIHN0cihpbnQob25ib2FyZF90aHMuaHVtaWRpdHkoKSkpLCB4PTAsIHk9MTQwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-1 多档按键台灯-多键调节.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-1 多档按键台灯-多键调节.mix index f7814927..724a04af 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-1 多档按键台灯-多键调节.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-1 多档按键台灯-多键调节.mix @@ -1 +1 @@ -WHILETRUEB2key1100B1key10A1key120A2key140A3key160A4key180{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDEwMCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDApCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCAyMCkKICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDQwKQogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgNjApCiAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCA4MCkK \ No newline at end of file +WHILETRUEB2key1100B1key10A1key120A2key140A3key160A4key180{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDEwMCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDApCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCAyMCkKICAgIGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIDQwKQogICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwgNjApCiAgICBpZiBtaXhnb19zYW50LkE0a2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCA4MCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-2 多档按键台灯-单键调节.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-2 多档按键台灯-单键调节.mix index 993caed2..05c56930 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-2 多档按键台灯-单键调节.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-1-2 多档按键台灯-单键调节.mix @@ -1 +1 @@ -亮度0WHILETRUEB2key亮度QUYU1ADD1亮度201201100亮度{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoK5Lqu5bqmID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOS6ruW6piA9ICjkuq7luqYgKyAyMCkgJSAxMjAKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIOS6ruW6pikK \ No newline at end of file +亮度0WHILETRUEB2key亮度QUYU1ADD1亮度201201100亮度{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoK5Lqu5bqmID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOS6ruW6piA9ICjkuq7luqYgKyAyMCkgJSAxMjAKICAgICAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDEsIOS6ruW6pikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-1 触摸可变台灯-简单触摸调节.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-1 触摸可变台灯-简单触摸调节.mix index 31baf9af..330c5759 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-1 触摸可变台灯-简单触摸调节.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-1 触摸可变台灯-简单触摸调节.mix @@ -1 +1 @@ -WHILETRUE触摸50-1001000100亮度round0.998触摸1100亮度2100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgp3aGlsZSBUcnVlOgogICAg6Kem5pG4ID0gKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAg5Lqu5bqmID0gcm91bmQo6Kem5pG4KQogICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCDkuq7luqYpCiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDIsIOS6ruW6pikK \ No newline at end of file +WHILETRUE触摸50-1001000100亮度round0.998触摸1100亮度2100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCgp3aGlsZSBUcnVlOgogICAg6Kem5pG4ID0gKG1hdGhfbWFwKG9uYm9hcmRfYm90LnRvdWNoX3NsaWRlKCksICgtMTAwKSwgMTAwLCAwLCAxMDApKQogICAg5Lqu5bqmID0gcm91bmQo6Kem5pG4KQogICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCDkuq7luqYpCiAgICBvbmJvYXJkX2xlZC5zZXRicmlnaHRuZXNzKDIsIOS6ruW6pikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-2 触摸可变台灯-触摸调节优化.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-2 触摸可变台灯-触摸调节优化.mix index bf6277a4..79bb9cc4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-2 触摸可变台灯-触摸调节优化.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-2-2 触摸可变台灯-触摸调节优化.mix @@ -1 +1 @@ -WHILETRUE触摸LTLT-4x触摸4亮度round0.99850触摸-10010001001100亮度2100亮度s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAg6Kem5pG4ID0gb25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKQogICAgaWYgbm90ICgtNCA8IOinpuaRuCA8IDQpOgogICAgICAgIOS6ruW6piA9IHJvdW5kKG1hdGhfbWFwKOinpuaRuCwgKC0xMDApLCAxMDAsIDAsIDEwMCkpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCDkuq7luqYpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLCDkuq7luqYpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +WHILETRUE触摸LTLT-4x触摸4亮度round0.99850触摸-10010001001100亮度2100亮度s0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peHB5IGltcG9ydCBtYXRoX21hcApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCgp3aGlsZSBUcnVlOgogICAg6Kem5pG4ID0gb25ib2FyZF9ib3QudG91Y2hfc2xpZGUoKQogICAgaWYgbm90ICgtNCA8IOinpuaRuCA8IDQpOgogICAgICAgIOS6ruW6piA9IHJvdW5kKG1hdGhfbWFwKOinpuaRuCwgKC0xMDApLCAxMDAsIDAsIDEwMCkpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCDkuq7luqYpCiAgICAgICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygyLCDkuq7luqYpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-1 久坐提醒台灯-久坐自动熄灭.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-1 久坐提醒台灯-久坐自动熄灭.mix index a49dd66f..13aaed3f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-1 久坐提醒台灯-久坐自动熄灭.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-1 久坐提醒台灯-久坐自动熄灭.mix @@ -1 +1 @@ -按键按下表示坐着WHILETRUEB1key开始时刻ms202020trueORGTEMINUS1ms1开始时刻3000B1keyB1keyTrue请休息!0TRUEs1000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAodGltZS50aWNrc19tcygpIC0g5byA5aeL5pe25Yi7ID49IDMwMDAgb3Igbm90IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfor7fkvJHmga/vvIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkK \ No newline at end of file +按键按下表示坐着WHILETRUEB1key开始时刻ms202020trueORGTEMINUS1ms1开始时刻3000B1keyB1keyTrue请休息!0TRUEs1000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAodGltZS50aWNrc19tcygpIC0g5byA5aeL5pe25Yi7ID49IDMwMDAgb3Igbm90IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCk6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfor7fkvJHmga/vvIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-2 久坐提醒台灯-计时提醒熄灭.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-2 久坐提醒台灯-计时提醒熄灭.mix index 3e8cfd07..cee67b36 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-2 久坐提醒台灯-计时提醒熄灭.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/1-3-2 久坐提醒台灯-计时提醒熄灭.mix @@ -1 +1 @@ -WHILETRUEB1key开始时刻ms202020trueTrue已经学习学习秒数:MixlyxZHENGCHU1MINUS1ms1开始时刻10000TRUEs1ORGTEMINUS1ms1开始时刻3000B1keyB1keyTrue请休息!0TRUEs1000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5a2m5Lmg56eS5pWw77yaJyArIHN0cigoKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtuWIuykgLy8gMTAwMCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgaWYgKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtuWIuyA+PSAzMDAwIG9yIG5vdCBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+35LyR5oGv77yBJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file +WHILETRUEB1key开始时刻ms202020trueTrue已经学习学习秒数:MixlyxZHENGCHU1MINUS1ms1开始时刻10000TRUEs1ORGTEMINUS1ms1开始时刻3000B1keyB1keyTrue请休息!0TRUEs1000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDIwLCAyMCwgMjApKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5a2m5Lmg56eS5pWw77yaJyArIHN0cigoKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtuWIuykgLy8gMTAwMCkpLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgaWYgKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtuWIuyA+PSAzMDAwIG9yIG5vdCBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6K+35LyR5oGv77yBJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-1 简单计时器-定时输出计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-1 简单计时器-定时输出计时.mix index 6680d09f..fc948858 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-1 简单计时器-定时输出计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-1 简单计时器-定时输出计时.mix @@ -1 +1 @@ -timPERIODICtim0100tim_callback当前计时0WHILETRUEtim_callback当前计时ADDa当前计时1FALSETrue当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIOW9k+WJjeiuoeaXtiArPSAxCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZPliY3orqHml7YoMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlvZPliY3orqHml7YpLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCuW9k+WJjeiuoeaXtiA9IDAKd2hpbGUgVHJ1ZToKICAgIHBhc3MKe2ID0gMAp3aGlsZSBUcnVlOgogICAgcGFzcwo= \ No newline at end of file +timPERIODICtim0100tim_callback当前计时0WHILETRUEtim_callback当前计时ADDa当前计时1FALSETrue当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIOW9k+WJjeiuoeaXtiArPSAxCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZPliY3orqHml7YoMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlvZPliY3orqHml7YpLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDEwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCuW9k+WJjeiuoeaXtiA9IDAKd2hpbGUgVHJ1ZToKICAgIHBhc3MKe2ID0gMAp3aGlsZSBUcnVlOgogICAgcGFzcwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-2 简单计时器-按下开始计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-2 简单计时器-按下开始计时.mix index e0f70e61..b9b60f3a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-2 简单计时器-按下开始计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-1-2 简单计时器-按下开始计时.mix @@ -1 +1 @@ -timPERIODICtim0100tim_callback当前计时0开始计时FALSEWHILETRUEB1key开始计时TRUEtim_callback当前计时开始计时ADDa当前计时1True当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQrlvZPliY3orqHml7YgPSAwCuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gVHJ1ZQo=ICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgo=g>{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQrlvZPliY3orqHml7YgPSAwCuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5byA5aeL6K6h5pe2OgogICAgICAgIOW9k+WJjeiuoeaXtiA9IDAK \ No newline at end of file +timPERIODICtim0100tim_callback当前计时0开始计时FALSEWHILETRUEB1key开始计时TRUEtim_callback当前计时开始计时ADDa当前计时1True当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQrlvZPliY3orqHml7YgPSAwCuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gVHJ1ZQo=ICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgo=g>{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQrlvZPliY3orqHml7YgPSAwCuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5byA5aeL6K6h5pe2OgogICAgICAgIOW9k+WJjeiuoeaXtiA9IDAK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-1 循环计时器-支持开始暂停.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-1 循环计时器-支持开始暂停.mix index 51642908..c529a82c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-1 循环计时器-支持开始暂停.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-1 循环计时器-支持开始暂停.mix @@ -1 +1 @@ -timPERIODICtim0100tim_callback当前计时0开始计时FALSEWHILETRUEB1key开始计时开始计时tim_callback当前计时开始计时ADDa当前计时1FALSETrue当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZPliY3orqHml7YoMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5b2T5YmN6K6h5pe2KSwgeD0wLCB5PTEyMCwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQoKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5b2T5YmN6K6h5pe2ID0gMArlvIDlp4vorqHml7YgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+iuoeaXtiA9IG5vdCDlvIDlp4vorqHml7YKeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgo= \ No newline at end of file +timPERIODICtim0100tim_callback当前计时0开始计时FALSEWHILETRUEB1key开始计时开始计时tim_callback当前计时开始计时ADDa当前计时1FALSETrue当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffFALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflvZPliY3orqHml7YoMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5b2T5YmN6K6h5pe2KSwgeD0wLCB5PTEyMCwgc2l6ZT0zLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQoKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5b2T5YmN6K6h5pe2ID0gMArlvIDlp4vorqHml7YgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+iuoeaXtiA9IG5vdCDlvIDlp4vorqHml7YKeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-2 循环计时器-支持重新开始.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-2 循环计时器-支持重新开始.mix index 47ccd6de..712518ea 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-2 循环计时器-支持重新开始.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-2-2 循环计时器-支持重新开始.mix @@ -1 +1 @@ -timPERIODICtim0100tim_callback当前计时0开始计时FALSEWHILETRUEB1key开始计时开始计时ANDB2key开始计时当前计时0tim_callback当前计时开始计时ADDa当前计时1True当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQrlvZPliY3orqHml7YgPSAwCuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5byA5aeL6K6h5pe2OgogICAgICAgIOW9k+WJjeiuoeaXtiA9IDAKY6CiAgICAgICAg5b2T5YmN6K6h5pe2ID0gMAo=eturn" id="Y:tU+(+fd@W04Rp,00a4">255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOW9k+WJjeiuoeaXtgogICAgaWYg5byA5aeL6K6h5pe2OgogICAgICAgIOW9k+WJjeiuoeaXtiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlvZPliY3orqHml7YpLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5b2T5YmN6K6h5pe2ID0gMArlvIDlp4vorqHml7YgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+iuoeaXtiA9IG5vdCDlvIDlp4vorqHml7YKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKSBhbmQgbm90IOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgPSAwCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +timPERIODICtim0100tim_callback当前计时0开始计时FALSEWHILETRUEB1key开始计时开始计时ANDB2key开始计时当前计时0tim_callback当前计时开始计时ADDa当前计时1True当前计时(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x当前计时012030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDlvZPliY3orqHml7YKICAgIGlmIOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgKz0gMQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQrlvZPliY3orqHml7YgPSAwCuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gbm90IOW8gOWni+iuoeaXtgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCBub3Qg5byA5aeL6K6h5pe2OgogICAgICAgIOW9k+WJjeiuoeaXtiA9IDAKY6CiAgICAgICAg5b2T5YmN6K6h5pe2ID0gMAo=eturn" id="Y:tU+(+fd@W04Rp,00a4">255,255,0#ffffffTRUE{}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgZ2xvYmFsIOW9k+WJjeiuoeaXtgogICAgaWYg5byA5aeL6K6h5pe2OgogICAgICAgIOW9k+WJjeiuoeaXtiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W9k+WJjeiuoeaXtigxMDBtcyknLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijlvZPliY3orqHml7YpLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCnRpbSA9IG1hY2hpbmUuVGltZXIoMCkKdGltLmluaXQocGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5b2T5YmN6K6h5pe2ID0gMArlvIDlp4vorqHml7YgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWni+iuoeaXtiA9IG5vdCDlvIDlp4vorqHml7YKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKSBhbmQgbm90IOW8gOWni+iuoeaXtjoKICAgICAgICDlvZPliY3orqHml7YgPSAwCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW9k+WJjeiuoeaXtiksIHg9MCwgeT0xMjAsIHNpemU9Mywgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-可变时长.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-可变时长.mix index e2cfab6b..e28de5e7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-可变时长.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-可变时长.mix @@ -1 +1 @@ -timtim_callback剩余时长开始计时MINUSa剩余时长1True剩余时长(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x剩余时长012030255,255,0#ffffffTRUEPERIODICtim0100tim_callback计时时长10剩余时长计时时长开始计时FALSEWHILETRUEEQ剩余时长0开始计时FALSEonboard_music.DADADADUM剩余时长计时时长开始计时B1key开始计时TRUEA1keyMINUSa计时时长1A3keyADDa计时时长1剩余时长计时时长{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBnbG9iYWwg5Ymp5L2Z5pe26ZW/CiAgICBpZiDlvIDlp4vorqHml7Y6CiAgICAgICAg5Ymp5L2Z5pe26ZW/IC09IDEKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliankvZnml7bplb8oMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijliankvZnml7bplb8pLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK6K6h5pe25pe26ZW/ID0gMTAK5Ymp5L2Z5pe26ZW/ID0g6K6h5pe25pe26ZW/CuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDliankvZnml7bplb8gPT0gMDoKICAgICAgICDlvIDlp4vorqHml7YgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKICAgICAgICDliankvZnml7bplb8gPSDorqHml7bml7bplb8KICAgIGlmIG5vdCDlvIDlp4vorqHml7Y6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDlvIDlp4vorqHml7YgPSBUcnVlCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDorqHml7bml7bplb8gLT0gMQogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe25pe26ZW/ICs9IDEKICAgICAgICDliankvZnml7bplb8gPSDorqHml7bml7bplb8KWJqeS9meaXtumVvyA9IOiuoeaXtuaXtumVvwo=aXtumVvwo= \ No newline at end of file +timtim_callback剩余时长开始计时MINUSa剩余时长1True剩余时长(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x剩余时长012030255,255,0#ffffffTRUEPERIODICtim0100tim_callback计时时长10剩余时长计时时长开始计时FALSEWHILETRUEEQ剩余时长0开始计时FALSEonboard_music.DADADADUM剩余时长计时时长开始计时B1key开始计时TRUEA1keyMINUSa计时时长1A3keyADDa计时时长1剩余时长计时时长{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1peGdvX3NhbnQKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBnbG9iYWwg5Ymp5L2Z5pe26ZW/CiAgICBpZiDlvIDlp4vorqHml7Y6CiAgICAgICAg5Ymp5L2Z5pe26ZW/IC09IDEKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliankvZnml7bplb8oMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijliankvZnml7bplb8pLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK6K6h5pe25pe26ZW/ID0gMTAK5Ymp5L2Z5pe26ZW/ID0g6K6h5pe25pe26ZW/CuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDliankvZnml7bplb8gPT0gMDoKICAgICAgICDlvIDlp4vorqHml7YgPSBGYWxzZQogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkRBREFEQURVTSkKICAgICAgICDliankvZnml7bplb8gPSDorqHml7bml7bplb8KICAgIGlmIG5vdCDlvIDlp4vorqHml7Y6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDlvIDlp4vorqHml7YgPSBUcnVlCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDorqHml7bml7bplb8gLT0gMQogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6K6h5pe25pe26ZW/ICs9IDEKICAgICAgICDliankvZnml7bplb8gPSDorqHml7bml7bplb8KWJqeS9meaXtumVvyA9IOiuoeaXtuaXtumVvwo=aXtumVvwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-固定时长.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-固定时长.mix index 4ef6eacd..71a4e8cb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-固定时长.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/2-3-1 反向计时器-固定时长.mix @@ -1 +1 @@ -timPERIODICtim0100tim_callback计时时长10剩余时长计时时长开始计时FALSEWHILETRUEB1key开始计时TRUEEQ剩余时长0开始计时FALSEonboard_music.DADADADUM剩余时长计时时长tim_callback剩余时长开始计时MINUSa剩余时长1True剩余时长(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x剩余时长012030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBnbG9iYWwg5Ymp5L2Z5pe26ZW/CiAgICBpZiDlvIDlp4vorqHml7Y6CiAgICAgICAg5Ymp5L2Z5pe26ZW/IC09IDEKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliankvZnml7bplb8oMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijliankvZnml7bplb8pLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK6K6h5pe25pe26ZW/ID0gMTAK5Ymp5L2Z5pe26ZW/ID0g6K6h5pe25pe26ZW/CuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gVHJ1ZQogICAgaWYg5Ymp5L2Z5pe26ZW/ID09IDA6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gRmFsc2UKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCiAgICAgICAg5Ymp5L2Z5pe26ZW/ID0g6K6h5pe25pe26ZW/Cg==nkvZnml7bplb8gPSDorqHml7bml7bplb8K \ No newline at end of file +timPERIODICtim0100tim_callback计时时长10剩余时长计时时长开始计时FALSEWHILETRUEB1key开始计时TRUEEQ剩余时长0开始计时FALSEonboard_music.DADADADUM剩余时长计时时长tim_callback剩余时长开始计时MINUSa剩余时长1True剩余时长(100ms)02020255,255,0#ffffffFALSETrue系统运行(毫秒)x剩余时长012030255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1hY2hpbmUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBnbG9iYWwg5Ymp5L2Z5pe26ZW/CiAgICBpZiDlvIDlp4vorqHml7Y6CiAgICAgICAg5Ymp5L2Z5pe26ZW/IC09IDEKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliankvZnml7bplb8oMTAwbXMpJywgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijliankvZnml7bplb8pLCB4PTAsIHk9MTIwLCBzaXplPTMsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gMTAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK6K6h5pe25pe26ZW/ID0gMTAK5Ymp5L2Z5pe26ZW/ID0g6K6h5pe25pe26ZW/CuW8gOWni+iuoeaXtiA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gVHJ1ZQogICAgaWYg5Ymp5L2Z5pe26ZW/ID09IDA6CiAgICAgICAg5byA5aeL6K6h5pe2ID0gRmFsc2UKICAgICAgICBvbmJvYXJkX211c2ljLnBsYXkob25ib2FyZF9tdXNpYy5EQURBREFEVU0pCiAgICAgICAg5Ymp5L2Z5pe26ZW/ID0g6K6h5pe25pe26ZW/Cg==nkvZnml7bplb8gPSDorqHml7bml7bplb8K \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-1 红外感应入侵检测-接近报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-1 红外感应入侵检测-接近报警.mix index b51ad185..7263d298 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-1 红外感应入侵检测-接近报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-1 红外感应入侵检测-接近报警.mix @@ -1 +1 @@ -有人入侵FALSEWHILETRUEORGTl100GTr100有人入侵TRUE有人入侵1198810010ms100{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCBvciBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAg5pyJ5Lq65YWl5L61ID0gVHJ1ZQogICAgaWYg5pyJ5Lq65YWl5L61OgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMTAwKQo= \ No newline at end of file +有人入侵FALSEWHILETRUEORGTl100GTr100有人入侵TRUE有人入侵1198810010ms100{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCBvciBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAg5pyJ5Lq65YWl5L61ID0gVHJ1ZQogICAgaWYg5pyJ5Lq65YWl5L61OgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMTAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-2 红外感应入侵检测-取消报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-2 红外感应入侵检测-取消报警.mix index a75e8576..79a8bbcd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-2 红外感应入侵检测-取消报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-1-2 红外感应入侵检测-取消报警.mix @@ -1 +1 @@ -有人入侵FALSEWHILETRUEORGTl100GTr100有人入侵TRUEB1key有人入侵FALSE有人入侵1198810010ms100{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCBvciBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAg5pyJ5Lq65YWl5L61ID0gVHJ1ZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCiAgICBpZiDmnInkurrlhaXkvrU6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCg== \ No newline at end of file +有人入侵FALSEWHILETRUEORGTl100GTr100有人入侵TRUEB1key有人入侵FALSE有人入侵1198810010ms100{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wucHNfbmwoKSA+IDEwMCBvciBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAxMDA6CiAgICAgICAg5pyJ5Lq65YWl5L61ID0gVHJ1ZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCiAgICBpZiDmnInkurrlhaXkvrU6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-1 微波感应入侵检测-移动侦测报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-1 微波感应入侵检测-移动侦测报警.mix index a58d27a3..e1e9cfd6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-1 微波感应入侵检测-移动侦测报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-1 微波感应入侵检测-移动侦测报警.mix @@ -1 +1 @@ -5000500有人入侵FALSEWHILETRUE有人入侵TRUEB1key10有人入侵FALSE有人入侵1-1ms100{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCmV4dF9tbXcudGhyZXNob2xkKDUwMDApCmV4dF9tbXcuZGVsYXlfbXMoNTAwKQrmnInkurrlhaXkvrUgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgZXh0X21tdy5yZXN1bHQoKToKICAgICAgICDmnInkurrlhaXkvrUgPSBUcnVlCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCiAgICBpZiDmnInkurrlhaXkvrU6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKICAgICAgICB0aW1lLnNsZWVwX21zKDEwMCkKRlbGF5X21zKDUwMCkK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAg5pyJ5Lq65YWl5L61ID0gVHJ1ZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCiAgICBpZiDmnInkurrlhaXkvrU6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCg== \ No newline at end of file +5000500有人入侵FALSEWHILETRUE有人入侵TRUEB1key10有人入侵FALSE有人入侵1-1ms100{}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKaW1wb3J0IHRpbWUKCmV4dF9tbXcudGhyZXNob2xkKDUwMDApCmV4dF9tbXcuZGVsYXlfbXMoNTAwKQrmnInkurrlhaXkvrUgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgZXh0X21tdy5yZXN1bHQoKToKICAgICAgICDmnInkurrlhaXkvrUgPSBUcnVlCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCiAgICBpZiDmnInkurrlhaXkvrU6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKICAgICAgICB0aW1lLnNsZWVwX21zKDEwMCkKRlbGF5X21zKDUwMCkK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAg5pyJ5Lq65YWl5L61ID0gVHJ1ZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCiAgICBpZiDmnInkurrlhaXkvrU6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwxKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg5ODgsIDEwMCkKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-2 微波感应入侵检测-侦测距离改变.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-2 微波感应入侵检测-侦测距离改变.mix index 0578275f..3efc606f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-2 微波感应入侵检测-侦测距离改变.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-2-2 微波感应入侵检测-侦测距离改变.mix @@ -1,4 +1,4 @@ -门限距离对应参考,注意,只是参考 +门限距离对应参考,注意,只是参考 20000-2cm 15000-5cm 9000-10cm diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-1 综合感应入侵检测-声音震动报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-1 综合感应入侵检测-声音震动报警.mix index 4eebf28a..e56a6923 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-1 综合感应入侵检测-声音震动报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-1 综合感应入侵检测-声音震动报警.mix @@ -1 +1 @@ -有人入侵FALSEWHILETRUE有人入侵ORLTLT3000x60000GTstrength3Mixly有人入侵TRUE1-1ms100B1key10有人入侵FALSE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCDmnInkurrlhaXkvrU6CiAgICAgICAgaWYgMzAwMCA8IG9uYm9hcmRfc291bmQucmVhZCgpIDwgNjAwMDAgb3Igb25ib2FyZF9hY2Muc3RyZW5ndGgoKSA+IDM6CiAgICAgICAgICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgICAgICAgICDmnInkurrlhaXkvrUgPSBUcnVlCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsLTEpCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCg==FX?_iYN*)~[;Rvg">侦测距离列表0侦测距离序号0TRUE5000MINUS140001MULTIPLY20001侦测距离序号2001-1ms100B1key10有人入侵FALSE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoK5pyJ5Lq65YWl5L61ID0gRmFsc2UK5L6m5rWL6Led56a75YiX6KGoID0gWyLlvojov5EiLCLovoPov5EiLCLkuK3nrYkiLCLovoPov5wiLCLlvojov5wiXQrkvqbmtYvot53nprvluo/lj7cgPSAwCndoaWxlIFRydWU6CiAgICBpZiBub3Qg5pyJ5Lq65YWl5L61OgogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5L6m5rWL6Led56a75bqP5Y+3ID0gKOS+pua1i+i3neemu+W6j+WPtyAtIDEpICUgNQogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5L6m5rWL6Led56a75bqP5Y+3ID0gKOS+pua1i+i3neemu+W6j+WPtyArIDEpICUgNQogICAgICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAgICAgIOacieS6uuWFpeS+tSA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvqbmtYvot53nprvliJfooahb5L6m5rWL6Led56a75bqP5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGV4dF9tbXcudGhyZXNob2xkKCgxNDAwMCAtIDIwMDAgKiDkvqbmtYvot53nprvluo/lj7cpKQogICAgICAgIGV4dF9tbXcuZGVsYXlfbXMoMjAwKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMTAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgICAgICDmnInkurrlhaXkvrUgPSBGYWxzZQo= \ No newline at end of file +有人入侵FALSEWHILETRUE有人入侵ORLTLT3000x60000GTstrength3Mixly有人入侵TRUE1-1ms100B1key10有人入侵FALSE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hY2MKaW1wb3J0IG1hY2hpbmUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoK5pyJ5Lq65YWl5L61ID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIG5vdCDmnInkurrlhaXkvrU6CiAgICAgICAgaWYgMzAwMCA8IG9uYm9hcmRfc291bmQucmVhZCgpIDwgNjAwMDAgb3Igb25ib2FyZF9hY2Muc3RyZW5ndGgoKSA+IDM6CiAgICAgICAgICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgICAgICAgICDmnInkurrlhaXkvrUgPSBUcnVlCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsLTEpCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCg==FX?_iYN*)~[;Rvg">侦测距离列表0侦测距离序号0TRUE5000MINUS140001MULTIPLY20001侦测距离序号2001-1ms100B1key10有人入侵FALSE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfbW13CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQoK5pyJ5Lq65YWl5L61ID0gRmFsc2UK5L6m5rWL6Led56a75YiX6KGoID0gWyLlvojov5EiLCLovoPov5EiLCLkuK3nrYkiLCLovoPov5wiLCLlvojov5wiXQrkvqbmtYvot53nprvluo/lj7cgPSAwCndoaWxlIFRydWU6CiAgICBpZiBub3Qg5pyJ5Lq65YWl5L61OgogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5L6m5rWL6Led56a75bqP5Y+3ID0gKOS+pua1i+i3neemu+W6j+WPtyAtIDEpICUgNQogICAgICAgIGlmIG1peGdvX3NhbnQuQTNrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5L6m5rWL6Led56a75bqP5Y+3ID0gKOS+pua1i+i3neemu+W6j+WPtyArIDEpICUgNQogICAgICAgIGlmIGV4dF9tbXcucmVzdWx0KCk6CiAgICAgICAgICAgIOacieS6uuWFpeS+tSA9IFRydWUKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjkvqbmtYvot53nprvliJfooahb5L6m5rWL6Led56a75bqP5Y+3XSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIGV4dF9tbXcudGhyZXNob2xkKCgxNDAwMCAtIDIwMDAgKiDkvqbmtYvot53nprvluo/lj7cpKQogICAgICAgIGV4dF9tbXcuZGVsYXlfbXMoMjAwKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLC0xKQogICAgICAgIHRpbWUuc2xlZXBfbXMoMTAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQogICAgICAgICAgICDmnInkurrlhaXkvrUgPSBGYWxzZQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-2 综合感应入侵检测-自定义报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-2 综合感应入侵检测-自定义报警.mix index d64547ad..6ee98449 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-2 综合感应入侵检测-自定义报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/3-3-2 综合感应入侵检测-自定义报警.mix @@ -1 +1 @@ -有人入侵FALSEWHILETRUE有人入侵ANDORLTLT3000x60000GTstrength3ORGTl100GTr100Mixly有人入侵TRUE1-1ms100B1key10有人入侵FALSE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hY2MKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CgrmnInkurrlhaXkvrUgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbm90IOacieS6uuWFpeS+tToKICAgICAgICBpZiAoMzAwMCA8IG9uYm9hcmRfc291bmQucmVhZCgpIDwgNjAwMDAgb3Igb25ib2FyZF9hY2Muc3RyZW5ndGgoKSA+IDMpIGFuZCAob25ib2FyZF9hbHNfbC5wc19ubCgpID4gMTAwIG9yIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDEwMCk6CiAgICAgICAgICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgICAgICAgICDmnInkurrlhaXkvrUgPSBUcnVlCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsLTEpCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCg== \ No newline at end of file +有人入侵FALSEWHILETRUE有人入侵ANDORLTLT3000x60000GTstrength3ORGTl100GTr100Mixly有人入侵TRUE1-1ms100B1key10有人入侵FALSE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3NvdW5kCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hY2MKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfcgppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CgrmnInkurrlhaXkvrUgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgbm90IOacieS6uuWFpeS+tToKICAgICAgICBpZiAoMzAwMCA8IG9uYm9hcmRfc291bmQucmVhZCgpIDwgNjAwMDAgb3Igb25ib2FyZF9hY2Muc3RyZW5ndGgoKSA+IDMpIGFuZCAob25ib2FyZF9hbHNfbC5wc19ubCgpID4gMTAwIG9yIG9uYm9hcmRfYWxzX3IucHNfbmwoKSA+IDEwMCk6CiAgICAgICAgICAgIHByaW50KG9uYm9hcmRfc291bmQucmVhZCgpKQogICAgICAgICAgICDmnInkurrlhaXkvrUgPSBUcnVlCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsLTEpCiAgICAgICAgdGltZS5zbGVlcF9tcygxMDApCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDApCiAgICAgICAgICAgIOacieS6uuWFpeS+tSA9IEZhbHNlCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-1 简单手速测试-按下抬起计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-1 简单手速测试-按下抬起计时.mix index dc9bcaaa..2fd0e7e7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-1 简单手速测试-按下抬起计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-1 简单手速测试-按下抬起计时.mix @@ -1 +1 @@ -按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msTrueMixlyMINUS1抬起时刻1按下时刻0TRUE{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7ID0gMArmiqzotbfml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oqs6LW35pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5oqs6LW35pe25Yi7IC0g5oyJ5LiL5pe25Yi7LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +按下时刻0抬起时刻0WHILETRUEB1key按下时刻mstrueB1key抬起时刻msTrueMixlyMINUS1抬起时刻1按下时刻0TRUE{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7ID0gMArmiqzotbfml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKToKICAgICAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oqs6LW35pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5oqs6LW35pe25Yi7IC0g5oyJ5LiL5pe25Yi7LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-2 简单手速测试-两次按下计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-2 简单手速测试-两次按下计时.mix index ab1dab06..185ca740 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-2 简单手速测试-两次按下计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-1-2 简单手速测试-两次按下计时.mix @@ -1 +1 @@ -按下时刻10按下时刻20WHILETRUEB1key按下时刻1mstrueB1keytrueB1key按下时刻2msTrueMixlyMINUS1按下时刻21按下时刻10TRUEtrueB1key{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7MSA9IDAK5oyJ5LiL5pe25Yi7MiA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIOaMieS4i+aXtuWIuzEgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oyJ5LiL5pe25Yi7MiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuzIgLSDmjInkuIvml7bliLsxLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawo= \ No newline at end of file +按下时刻10按下时刻20WHILETRUEB1key按下时刻1mstrueB1keytrueB1key按下时刻2msTrueMixlyMINUS1按下时刻21按下时刻10TRUEtrueB1key{}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK5oyJ5LiL5pe25Yi7MSA9IDAK5oyJ5LiL5pe25Yi7MiA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIOaMieS4i+aXtuWIuzEgPSB0aW1lLnRpY2tzX21zKCkKICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICBpZiAobm90IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg5oyJ5LiL5pe25Yi7MiA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuzIgLSDmjInkuIvml7bliLsxLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgaWYgKG5vdCBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-1 单灯反应测试-亮灯按下计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-1 单灯反应测试-亮灯按下计时.mix index 06e60a79..b7a903e3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-1 单灯反应测试-亮灯按下计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-1 单灯反应测试-亮灯按下计时.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUE21亮灯时刻mstrueB1key20按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEtrueB1key{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5oyJ5LiL5pe25Yi7IC0g5Lqu54Gv5pe25Yi7LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChub3QgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawo=Nob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=AgaWYgKG5vdCBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawo= \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUE21亮灯时刻mstrueB1key20按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUEtrueB1key{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoK5Lqu54Gv5pe25Yi7ID0gMArmjInkuIvml7bliLsgPSAwCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDIsMCkKICAgIOaMieS4i+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgb25ib2FyZF90ZnQuc2hvd3Mo5oyJ5LiL5pe25Yi7IC0g5Lqu54Gv5pe25Yi7LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChub3QgbWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawo=Nob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=AgaWYgKG5vdCBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgICAgICBicmVhawo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-2 单灯反应测试-随机亮灯计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-2 单灯反应测试-随机亮灯计时.mix index 22952fb6..a529e33e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-2 单灯反应测试-随机亮灯计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-2-2 单灯反应测试-随机亮灯计时.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0WHILETRUEs1float0.5221亮灯时刻mstrueB1key20按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDAuNSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=name="VAR">亮灯时刻0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMC41LCAyKSkpCiAgICDkuq7nga/nvJblj7cgPSByYW5kb20ucmFuZGludCgxLCAyKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLssIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +亮灯时刻0按下时刻0WHILETRUEs1float0.5221亮灯时刻mstrueB1key20按下时刻msTrueMixlyMINUS1按下时刻1亮灯时刻0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoKHJhbmRvbS51bmlmb3JtKDAuNSwgMikpKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQogICAg5Lqu54Gv5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICB3aGlsZSBUcnVlOgogICAgICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSk6CiAgICAgICAgICAgIGJyZWFrCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo=name="VAR">亮灯时刻0TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCgrkuq7nga/ml7bliLsgPSAwCuaMieS4i+aXtuWIuyA9IDAK5Lqu54Gv57yW5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgocmFuZG9tLnVuaWZvcm0oMC41LCAyKSkpCiAgICDkuq7nga/nvJblj7cgPSByYW5kb20ucmFuZGludCgxLCAyKQogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv57yW5Y+3LDEpCiAgICDkuq7nga/ml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIHdoaWxlIFRydWU6CiAgICAgICAgaWYgKG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkuaXNfcHJlc3NlZCgpKToKICAgICAgICAgICAgYnJlYWsKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKOS6rueBr+e8luWPtywwKQogICAg5oyJ5LiL5pe25Yi7ID0gdGltZS50aWNrc19tcygpCiAgICBvbmJvYXJkX3RmdC5zaG93cyjmjInkuIvml7bliLsgLSDkuq7nga/ml7bliLssIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-1 双灯反应测试-上灯上键计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-1 双灯反应测试-上灯上键计时.mix index 90264469..8e1ab949 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-1 双灯反应测试-上灯上键计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-1 双灯反应测试-上灯上键计时.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯序号0WHILETRUEs1float0.52亮灯序号int122亮灯序号1亮灯时刻mstrueORB1keyB2key2亮灯序号0按下时刻msORANDB1keyEQ亮灯序号1ANDB2keyEQ亮灯序号2TrueMixlyMINUS1按下时刻1亮灯时刻0TRUETrue按键错误0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArkuq7nga/luo/lj7cgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLjUsIDIpKSkKICAgIOS6rueBr+W6j+WPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/luo/lj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv5bqP5Y+3LDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDEpIG9yIChtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDIpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5oyJ6ZSu6ZSZ6K+vJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +亮灯时刻0按下时刻0亮灯序号0WHILETRUEs1float0.52亮灯序号int122亮灯序号1亮灯时刻mstrueORB1keyB2key2亮灯序号0按下时刻msORANDB1keyEQ亮灯序号1ANDB2keyEQ亮灯序号2TrueMixlyMINUS1按下时刻1亮灯时刻0TRUETrue按键错误0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArkuq7nga/luo/lj7cgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLjUsIDIpKSkKICAgIOS6rueBr+W6j+WPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/luo/lj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv5bqP5Y+3LDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDEpIG9yIChtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDIpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5oyJ6ZSu6ZSZ6K+vJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-2 双灯反应测试-上灯下键计时.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-2 双灯反应测试-上灯下键计时.mix index 7305bd23..50272404 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-2 双灯反应测试-上灯下键计时.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/4-3-2 双灯反应测试-上灯下键计时.mix @@ -1 +1 @@ -亮灯时刻0按下时刻0亮灯序号0WHILETRUEs1float0.52亮灯序号int122亮灯序号1亮灯时刻mstrueORB1keyB2key2亮灯序号0按下时刻msORANDB1keyEQ亮灯序号2ANDB2keyEQ亮灯序号1TrueMixlyMINUS1按下时刻1亮灯时刻0TRUETrue按键错误0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArkuq7nga/luo/lj7cgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLjUsIDIpKSkKICAgIOS6rueBr+W6j+WPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/luo/lj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv5bqP5Y+3LDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDIpIG9yIChtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5oyJ6ZSu6ZSZ6K+vJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file +亮灯时刻0按下时刻0亮灯序号0WHILETRUEs1float0.52亮灯序号int122亮灯序号1亮灯时刻mstrueORB1keyB2key2亮灯序号0按下时刻msORANDB1keyEQ亮灯序号2ANDB2keyEQ亮灯序号1TrueMixlyMINUS1按下时刻1亮灯时刻0TRUETrue按键错误0TRUE{}aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbGVkCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCuS6rueBr+aXtuWIuyA9IDAK5oyJ5LiL5pe25Yi7ID0gMArkuq7nga/luo/lj7cgPSAwCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKChyYW5kb20udW5pZm9ybSgwLjUsIDIpKSkKICAgIOS6rueBr+W6j+WPtyA9IHJhbmRvbS5yYW5kaW50KDEsIDIpCiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZijkuq7nga/luo/lj7csMSkKICAgIOS6rueBr+aXtuWIuyA9IHRpbWUudGlja3NfbXMoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAobWl4Z29fc2FudC5CMWtleS5pc19wcmVzc2VkKCkgb3IgbWl4Z29fc2FudC5CMmtleS5pc19wcmVzc2VkKCkpOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF9sZWQuc2V0b25vZmYo5Lqu54Gv5bqP5Y+3LDApCiAgICDmjInkuIvml7bliLsgPSB0aW1lLnRpY2tzX21zKCkKICAgIGlmIChtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDIpIG9yIChtaXhnb19zYW50LkIya2V5LmlzX3ByZXNzZWQoKSBhbmQg5Lqu54Gv5bqP5Y+3ID09IDEpOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOaMieS4i+aXtuWIuyAtIOS6rueBr+aXtuWIuywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5oyJ6ZSu6ZSZ6K+vJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-1 平衡测试仪-单轴水平.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-1 平衡测试仪-单轴水平.mix index 77a8b305..6d06f075 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-1 平衡测试仪-单轴水平.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-1 平衡测试仪-单轴水平.mix @@ -1 +1 @@ -x6WHILETRUELT[0]0MINUSx1GT[0]0ADDx1x1000x011FALSEfill_rect20MULTIPLY1x201202020255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAwOgogICAgICAgIHggLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwOgogICAgICAgIHggKz0gMQogICAgeCA9IG1pbihtYXgoeCwgMCksIDExKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksIDEyMCwgMjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file +x6WHILETRUELT[0]0MINUSx1GT[0]0ADDx1x1000x011FALSEfill_rect20MULTIPLY1x201202020255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAwOgogICAgICAgIHggLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwOgogICAgICAgIHggKz0gMQogICAgeCA9IG1pbihtYXgoeCwgMCksIDExKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksIDEyMCwgMjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-2 平衡测试仪-双轴水平.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-2 平衡测试仪-双轴水平.mix index eb737472..a241a0fa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-2 平衡测试仪-双轴水平.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-1-2 平衡测试仪-双轴水平.mix @@ -1 +1 @@ -x6y6WHILETRUELT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1x1000x011y1000y011FALSEfill_rect20MULTIPLY1x20120MULTIPLY1y202020255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAwOgogICAgICAgIHggLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAwOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwOgogICAgICAgIHkgKz0gMQogICAgeCA9IG1pbihtYXgoeCwgMCksIDExKQogICAgeSA9IG1pbihtYXgoeSwgMCksIDExKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksICh5ICogMjApLCAyMCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +x6y6WHILETRUELT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1x1000x011y1000y011FALSEfill_rect20MULTIPLY1x20120MULTIPLY1y202020255,255,0#ffffffTRUEs0.1{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCgp4ID0gNgp5ID0gNgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAwOgogICAgICAgIHggLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwOgogICAgICAgIHggKz0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAwOgogICAgICAgIHkgLT0gMQogICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwOgogICAgICAgIHkgKz0gMQogICAgeCA9IG1pbihtYXgoeCwgMCksIDExKQogICAgeSA9IG1pbihtYXgoeSwgMCksIDExKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKHggKiAyMCksICh5ICogMjApLCAyMCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-1 平衡大挑战-碰到边缘失败.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-1 平衡大挑战-碰到边缘失败.mix index b20fc0d9..7600097a 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-1 平衡大挑战-碰到边缘失败.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-1 平衡大挑战-碰到边缘失败.mix @@ -1 +1 @@ -x6y6WHILETRUELT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUEBREAK{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKeCA9IDYKeSA9IDYKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgMDoKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMDoKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgMDoKICAgICAgICB5IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMDoKICAgICAgICB5ICs9IDEKICAgIGlmIDAgPD0geCA8PSAxMSBhbmQgMCA8PSB5IDw9IDExOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGJyZWFrCg== \ No newline at end of file +x6y6WHILETRUELT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUEBREAK{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwoKeCA9IDYKeSA9IDYKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgMDoKICAgICAgICB4IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMDoKICAgICAgICB4ICs9IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgMDoKICAgICAgICB5IC09IDEKICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMDoKICAgICAgICB5ICs9IDEKICAgIGlmIDAgPD0geCA8PSAxMSBhbmQgMCA8PSB5IDw9IDExOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBlbHNlOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKE5PLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGJyZWFrCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-2 平衡大挑战-失败后可重来.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-2 平衡大挑战-失败后可重来.mix index f35db129..8d23a484 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-2 平衡大挑战-失败后可重来.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-2-2 平衡大挑战-失败后可重来.mix @@ -1 +1 @@ -开始FALSEWHILETRUE开始LT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUE开始FALSEB1key开始TRUEx6y6{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgbWl4Z29fc2FudAoK5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOW8gOWnizoKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IDA6CiAgICAgICAgICAgIHggLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMDoKICAgICAgICAgICAgeCArPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAwOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDA6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIDAgPD0geCA8PSAxMSBhbmQgMCA8PSB5IDw9IDExOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoeCAqIDIwKSwgKHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIOW8gOWniyA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gVHJ1ZQogICAgICAgIHggPSA2CiAgICAgICAgeSA9IDYK \ No newline at end of file +开始FALSEWHILETRUE开始LT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1informatio_picture.NOTRUE开始FALSEB1key开始TRUEx6y6{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmZyb20gaW5mb3JtYXRpb19waWN0dXJlIGltcG9ydCBOTwppbXBvcnQgbWl4Z29fc2FudAoK5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOW8gOWnizoKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA8IDA6CiAgICAgICAgICAgIHggLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdID4gMDoKICAgICAgICAgICAgeCArPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPCAwOgogICAgICAgICAgICB5IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA+IDA6CiAgICAgICAgICAgIHkgKz0gMQogICAgICAgIGlmIDAgPD0geCA8PSAxMSBhbmQgMCA8PSB5IDw9IDExOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuZWxsaXBzZSgoeCAqIDIwKSwgKHkgKiAyMCksIDEwLCAxMCwgMHhmZmZmLCBUcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoTk8sIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgICAgIOW8gOWniyA9IEZhbHNlCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5byA5aeLID0gVHJ1ZQogICAgICAgIHggPSA2CiAgICAgICAgeSA9IDYK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-1 计时平衡赛-实现平衡时长.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-1 计时平衡赛-实现平衡时长.mix index dbfea3cc..5adf2f79 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-1 计时平衡赛-实现平衡时长.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-1 计时平衡赛-实现平衡时长.mix @@ -1 +1 @@ -开始FALSEWHILETRUE开始LT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1TrueMixlyMINUS1ms1开始时间0TRUE开始FALSEB1key开始TRUEx6y6开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CgrlvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgMDoKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IDA6CiAgICAgICAgICAgIHkgLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMDoKICAgICAgICAgICAgeSArPSAxCiAgICAgICAgaWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5lbGxpcHNlKCh4ICogMjApLCAoeSAqIDIwKSwgMTAsIDEwLCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh0aW1lLnRpY2tzX21zKCkgLSDlvIDlp4vml7bpl7QsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg5byA5aeLID0gRmFsc2UKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgogICAgICAgIOW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +开始FALSEWHILETRUE开始LT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1TrueMixlyMINUS1ms1开始时间0TRUE开始FALSEB1key开始TRUEx6y6开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CgrlvIDlp4sgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYg5byA5aeLOgogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzBdIDwgMDoKICAgICAgICAgICAgeCAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwOgogICAgICAgICAgICB4ICs9IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXSA8IDA6CiAgICAgICAgICAgIHkgLT0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdID4gMDoKICAgICAgICAgICAgeSArPSAxCiAgICAgICAgaWYgMCA8PSB4IDw9IDExIGFuZCAwIDw9IHkgPD0gMTE6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5lbGxpcHNlKCh4ICogMjApLCAoeSAqIDIwKSwgMTAsIDEwLCAweGZmZmYsIFRydWUsc3luYz1UcnVlKQogICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh0aW1lLnRpY2tzX21zKCkgLSDlvIDlp4vml7bpl7QsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICAgICAg5byA5aeLID0gRmFsc2UKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDlvIDlp4sgPSBUcnVlCiAgICAgICAgeCA9IDYKICAgICAgICB5ID0gNgogICAgICAgIOW8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-2 计时平衡赛-开始位置随机.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-2 计时平衡赛-开始位置随机.mix index 6883f9b8..512d426c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-2 计时平衡赛-开始位置随机.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/5-3-2 计时平衡赛-开始位置随机.mix @@ -1 +1 @@ -开始FALSEWHILETRUE开始LT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1TrueMixlyMINUS1ms1开始时间0TRUE开始FALSEB1key开始TRUExint39yint39开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCByYW5kb20KCuW8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDlvIDlp4s6CiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAwOgogICAgICAgICAgICB4IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDA6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgMDoKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwOgogICAgICAgICAgICB5ICs9IDEKICAgICAgICBpZiAwIDw9IHggPD0gMTEgYW5kIDAgPD0geSA8PSAxMToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtumXtCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICDlvIDlp4sgPSBGYWxzZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IFRydWUKICAgICAgICB4ID0gcmFuZG9tLnJhbmRpbnQoMywgOSkKICAgICAgICB5ID0gcmFuZG9tLnJhbmRpbnQoMywgOSkKICAgICAgICDlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file +开始FALSEWHILETRUE开始LT[0]0MINUSx1GT[0]0ADDx1LT[1]0MINUSy1GT[1]0ADDy1ANDLTELTE0xx11LTELTE0xy11FALSETrue60MULTIPLY1x2060MULTIPLY1y2010255,255,0#ffffffTRUEs0.1TrueMixlyMINUS1ms1开始时间0TRUE开始FALSEB1key开始TRUExint39yint39开始时间ms{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCB0aW1lCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCByYW5kb20KCuW8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDlvIDlp4s6CiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAwOgogICAgICAgICAgICB4IC09IDEKICAgICAgICBpZiBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXSA+IDA6CiAgICAgICAgICAgIHggKz0gMQogICAgICAgIGlmIG9uYm9hcmRfYWNjLmFjY2VsZXJhdGlvbigpWzFdIDwgMDoKICAgICAgICAgICAgeSAtPSAxCiAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMV0gPiAwOgogICAgICAgICAgICB5ICs9IDEKICAgICAgICBpZiAwIDw9IHggPD0gMTEgYW5kIDAgPD0geSA8PSAxMToKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmVsbGlwc2UoKHggKiAyMCksICh5ICogMjApLCAxMCwgMTAsIDB4ZmZmZiwgVHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHRpbWUudGlja3NfbXMoKSAtIOW8gOWni+aXtumXtCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgICAgICDlvIDlp4sgPSBGYWxzZQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOW8gOWniyA9IFRydWUKICAgICAgICB4ID0gcmFuZG9tLnJhbmRpbnQoMywgOSkKICAgICAgICB5ID0gcmFuZG9tLnJhbmRpbnQoMywgOSkKICAgICAgICDlvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-1 篮子移动-左右移动.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-1 篮子移动-左右移动.mix index 8a1cabe2..795584a0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-1 篮子移动-左右移动.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-1 篮子移动-左右移动.mix @@ -1 +1 @@ -篮子位置0WHILETRUEB1keyADDa篮子位置1FALSEA1keyMINUSa篮子位置1FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +篮子位置0WHILETRUEB1keyADDa篮子位置1FALSEA1keyMINUSa篮子位置1FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-2 篮子移动-受限移动.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-2 篮子移动-受限移动.mix index 47becad1..d56d91fc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-2 篮子移动-受限移动.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-1-2 篮子移动-受限移动.mix @@ -1 +1 @@ -篮子位置0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9FALSEA1keyMINUSa篮子位置1篮子位置max1篮子位置0FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWluKOevruWtkOS9jee9riwgOSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +篮子位置0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置9FALSEA1keyMINUSa篮子位置1篮子位置max1篮子位置0FALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoK56+u5a2Q5L2N572uID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAg56+u5a2Q5L2N572uID0gbWluKOevruWtkOS9jee9riwgOSkKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-1 福豆下落-同步动画.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-1 福豆下落-同步动画.mix index 2696e575..57dc5383 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-1 福豆下落-同步动画.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-1 福豆下落-同步动画.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCAxMSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAg5pu05paw5pi+56S6KCkKICAgIGVsc2U6CiAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file +篮子位置0金币位置xint011金币位置y0WHILETRUEB1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg56+u5a2Q5L2N572uICs9IDEKICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCAxMSkKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgIOevruWtkOS9jee9riA9IG1heCjnr67lrZDkvY3nva4sIDApCiAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAg5pu05paw5pi+56S6KCkKICAgIGVsc2U6CiAgICAgICAg6YeR5biB5L2N572ueCA9IHJhbmRvbS5yYW5kaW50KDAsIDExKQogICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICB0aW1lLnNsZWVwKDAuMSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-2 福豆下落-开始设置.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-2 福豆下落-开始设置.mix index 1978b47e..1d92eaf1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-2 福豆下落-开始设置.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-2-2 福豆下落-开始设置.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1B2key游戏开始TRUE更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCg== \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1金币位置xint011金币位置y0s0.1B2key游戏开始TRUE更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgpkZWYg5pu05paw5pi+56S6KCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo6YeR5biB5L2N572ueCAqIDIwKSwgKOmHkeW4geS9jee9rnkgKiAyMCksIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOevruWtkOS9jee9riAqIDIwKSwgMjIwLCA2MCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgoK56+u5a2Q5L2N572uID0gMArph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCumHkeW4geS9jee9rnkgPSAwCua4uOaIj+W8gOWniyA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiDmuLjmiI/lvIDlp4s6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gKz0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtaW4o56+u5a2Q5L2N572uLCA5KQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMSkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-1 福分计算-判断是否接住.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-1 福分计算-判断是否接住.mix index ab022894..5df66dbf 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-1 福分计算-判断是否接住.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-1 福分计算-判断是否接住.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1LTELTE0篮子位置x金币位置x2ADD1篮子位置203003000金币位置xint011金币位置y0s0.1B2key游戏开始TRUE游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmRlZiDmm7TmlrDmmL7npLooKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjph5HluIHkvY3nva54ICogMjApLCAo6YeR5biB5L2N572ueSAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCAxMToKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuigpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg56+u5a2Q5L2N572uIDw9IOmHkeW4geS9jee9rnggPD0g56+u5a2Q5L2N572uICsgMjoKICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDMwLCAwKSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICDph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置9A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1LTELTE0篮子位置x金币位置x2ADD1篮子位置203003000金币位置xint011金币位置y0s0.1B2key游戏开始TRUE游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmRlZiDmm7TmlrDmmL7npLooKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjph5HluIHkvY3nva54ICogMjApLCAo6YeR5biB5L2N572ueSAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDkpCiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnr67lrZDkvY3nva4gLT0gMQogICAgICAgICAgICDnr67lrZDkvY3nva4gPSBtYXgo56+u5a2Q5L2N572uLCAwKQogICAgICAgIGlmIOmHkeW4geS9jee9rnkgPCAxMToKICAgICAgICAgICAg6YeR5biB5L2N572ueSArPSAxCiAgICAgICAgICAgIOabtOaWsOaYvuekuigpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg56+u5a2Q5L2N572uIDw9IOmHkeW4geS9jee9rnggPD0g56+u5a2Q5L2N572uICsgMjoKICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDMwLCAwKSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDMwLCAwLCAwKSkKICAgICAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgICAgICDph5HluIHkvY3nva54ID0gcmFuZG9tLnJhbmRpbnQoMCwgMTEpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgPSAwCiAgICAgICAgdGltZS5zbGVlcCgwLjEpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvIDlp4vml7bpl7QgPSB0aW1lLnRpY2tzX21zKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-2 福分计算-计算最终得分.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-2 福分计算-计算最终得分.mix index a4284332..ab424753 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-2 福分计算-计算最终得分.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-3-2 福分计算-计算最终得分.mix @@ -1 +1 @@ -篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分103003000金币位置xint011金币位置y0s0.05GTMINUS1ms1游戏开始时间5000游戏开始FALSETrueMixly游戏得分0TRUEB2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmRlZiDmm7TmlrDmmL7npLooKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjph5HluIHkvY3nva54ICogMjApLCAo6YeR5biB5L2N572ueSAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDExKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIOevruWtkOS9jee9riA8PSDph5HluIHkvY3nva54IDw9IOevruWtkOS9jee9riArIDI6CiAgICAgICAgICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgICAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMzAsIDApKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDAsIDApKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gNTAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5ri45oiP5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file +篮子位置0金币位置xint011金币位置y0游戏开始FALSEWHILETRUE游戏开始B1keyADDa篮子位置1篮子位置min1篮子位置11A1keyMINUSa篮子位置1篮子位置max1篮子位置0LT金币位置y11ADDa金币位置y1LTELTE0篮子位置x金币位置x2ADD1篮子位置2ADD游戏得分103003000金币位置xint011金币位置y0s0.05GTMINUS1ms1游戏开始时间5000游戏开始FALSETrueMixly游戏得分0TRUEB2key游戏开始TRUE游戏得分0游戏开始时间ms更新显示FALSEfill_rect20MULTIPLY1金币位置x20220MULTIPLY1金币位置y202020255,255,0#ffffffFALSEfill_rect20MULTIPLY1篮子位置202206020255,255,0#ffffffTRUE{}aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKCmRlZiDmm7TmlrDmmL7npLooKToKICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjph5HluIHkvY3nva54ICogMjApLCAo6YeR5biB5L2N572ueSAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgo56+u5a2Q5L2N572uICogMjApLCAyMjAsIDYwLCAyMCwgMHhmZmZmLHN5bmM9VHJ1ZSkKCgrnr67lrZDkvY3nva4gPSAwCumHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkK6YeR5biB5L2N572ueSA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOevruWtkOS9jee9riArPSAxCiAgICAgICAgICAgIOevruWtkOS9jee9riA9IG1pbijnr67lrZDkvY3nva4sIDExKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg56+u5a2Q5L2N572uIC09IDEKICAgICAgICAgICAg56+u5a2Q5L2N572uID0gbWF4KOevruWtkOS9jee9riwgMCkKICAgICAgICBpZiDph5HluIHkvY3nva55IDwgMTE6CiAgICAgICAgICAgIOmHkeW4geS9jee9rnkgKz0gMQogICAgICAgICAgICDmm7TmlrDmmL7npLooKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGlmIOevruWtkOS9jee9riA8PSDph5HluIHkvY3nva54IDw9IOevruWtkOS9jee9riArIDI6CiAgICAgICAgICAgICAgICDmuLjmiI/lvpfliIYgKz0gMQogICAgICAgICAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMzAsIDApKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMzAsIDAsIDApKQogICAgICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgICAgIOmHkeW4geS9jee9rnggPSByYW5kb20ucmFuZGludCgwLCAxMSkKICAgICAgICAgICAg6YeR5biB5L2N572ueSA9IDAKICAgICAgICB0aW1lLnNsZWVwKDAuMDUpCiAgICAgICAgaWYgdGltZS50aWNrc19tcygpIC0g5ri45oiP5byA5aeL5pe26Ze0ID4gNTAwMDoKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo5ri45oiP5b6X5YiGLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBlbHNlOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ri45oiP5byA5aeLID0gVHJ1ZQogICAgICAgICAgICDmuLjmiI/lvpfliIYgPSAwCiAgICAgICAgICAgIOa4uOaIj+W8gOWni+aXtumXtCA9IHRpbWUudGlja3NfbXMoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-4 飞机大战.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-4 飞机大战.mix index a18573b2..37c5fc4e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-4 飞机大战.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/4年级/6-4 飞机大战.mix @@ -1 +1 @@ -显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x200#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值1fill_rect20MULTIPLY1敌机X坐标2002020255,255,0#ffffffTRUE发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标20200MULTIPLY1子弹Y坐标202020255,255,0#ffffffTRUEms50fill_rect20MULTIPLY1子弹X坐标20200MULTIPLY1子弹Y坐标202020255,255,0#000000TRUE屏幕X最大值11屏幕Y最大值11本机X坐标1敌机X坐标1子弹X坐标1得分0游戏开始FALSE剩余子弹5WHILETRUEA2keyTRUE得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值1fill_rect020024040255,255,0#000000FALSEfill_rect20MULTIPLY1本机X坐标202002020255,255,0#ffffffFALSEfill_rect20MULTIPLY1MINUS1本机X坐标1202206020255,255,0#ffffffTRUE29450判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixlyx得分0TRUE计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0TRUE988100FALSE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoKZGVmIOaYvuekuuaVjOacuigpOgogICAgZ2xvYmFsIOaVjOaculjlnZDmoIcKICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCDlsY/luZVY5pyA5aSn5YC8LCAxKToKICAgICAgICBpZiBvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKiAyMCkpLCBpbnQoMCkpID09IDB4ZmZmZjoKICAgICAgICAgICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gVHJ1ZQogICAgICAgICAgICBicmVhawogICAgaWYgbm90IOaVjOacuuaYr+WQpuWtmOWcqDoKICAgICAgICDmlYzmnLpY5Z2Q5qCHID0gcmFuZG9tLnJhbmRpbnQoMSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMjApLCAwLCAyMCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5Y+R5bCE5a2Q5by5KCk6CiAgICBnbG9iYWwg5a2Q5by5WOWdkOaghwogICAg5a2Q5by5WOWdkOaghyA9IOacrOaculjlnZDmoIcKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyNjIsIDUwKQogICAgZm9yIOWtkOW8uVnlnZDmoIcgaW4gcmFuZ2Uo5bGP5bmVWeacgOWkp+WAvCAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMjApLCAo5a2Q5by5WeWdkOaghyAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMjApLCAo5a2Q5by5WeWdkOaghyAqIDIwKSwgMjAsIDIwLCAweDAsc3luYz1UcnVlKQoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDEpLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMDAsIDI0MCwgNDAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMjApLCAyMDAsIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAyMCksIDIyMCwgNjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYg5Yik5pat57uT5p2fKCk6CiAgICBnbG9iYWwg5ri45oiP5byA5aeLCiAgICBnbG9iYWwg5Ymp5L2Z5a2Q5by5CiAgICDliankvZnlrZDlvLkgLT0gMQogICAgaWYg5Ymp5L2Z5a2Q5by5IDw9IDA6CiAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOW+l+WIhgogICAgaWYg5pWM5py6WOWdkOaghyA9PSDmnKzmnLpY5Z2Q5qCHOgogICAgICAgIOW+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAg5pi+56S65oiR5py6KCkKCgrlsY/luZVY5pyA5aSn5YC8ID0gMTEK5bGP5bmVWeacgOWkp+WAvCA9IDExCuacrOaculjlnZDmoIcgPSAxCuaVjOaculjlnZDmoIcgPSAxCuWtkOW8uVjlnZDmoIcgPSAxCuW+l+WIhiA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UK5Ymp5L2Z5a2Q5by5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAg5b6X5YiGID0gMAogICAgICAgIOWJqeS9meWtkOW8uSA9IDUKICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICDmmL7npLrmlYzmnLooKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAgICAgIOaYvuekuuaIkeacuigpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICAgICAg5pi+56S65oiR5py6KCkKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOWPkeWwhOWtkOW8uSgpCiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOWIpOaWree7k+adnygpCg== \ No newline at end of file +显示敌机敌机X坐标敌机是否存在FALSE0,1,2,308屏幕X最大值1xEQ0MULTIPLY1x200#ffffff敌机是否存在TRUEBREAK敌机是否存在敌机X坐标int16MINUS1屏幕X最大值1fill_rect20MULTIPLY1敌机X坐标2002020255,255,0#ffffffTRUE发射子弹子弹X坐标子弹X坐标本机X坐标262500,1,2,32MINUS1屏幕Y最大值2-2-1子弹Y坐标fill_rect20MULTIPLY1子弹X坐标20200MULTIPLY1子弹Y坐标202020255,255,0#ffffffTRUEms50fill_rect20MULTIPLY1子弹X坐标20200MULTIPLY1子弹Y坐标202020255,255,0#000000TRUE屏幕X最大值11屏幕Y最大值11本机X坐标1敌机X坐标1子弹X坐标1得分0游戏开始FALSE剩余子弹5WHILETRUEA2keyTRUE得分0剩余子弹5游戏开始TRUE游戏开始A1keyMINUS本机X坐标1B1keyADD本机X坐标1B2key显示我机本机X坐标本机X坐标1000本机X坐标1100MINUS1屏幕X最大值1fill_rect020024040255,255,0#000000FALSEfill_rect20MULTIPLY1本机X坐标202002020255,255,0#ffffffFALSEfill_rect20MULTIPLY1MINUS1本机X坐标1202206020255,255,0#ffffffTRUE29450判断结束游戏开始剩余子弹MINUS剩余子弹1LTE剩余子弹0游戏开始FALSETrueMixlyx得分0TRUE计算得分得分EQ敌机X坐标本机X坐标ADD得分1TrueMixlyx得分0TRUE988100FALSE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgcmFuZG9tCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQppbXBvcnQgbWl4Z29fc2FudAoKZGVmIOaYvuekuuaVjOacuigpOgogICAgZ2xvYmFsIOaVjOaculjlnZDmoIcKICAgIOaVjOacuuaYr+WQpuWtmOWcqCA9IEZhbHNlCiAgICBmb3IgeCBpbiByYW5nZSgwLCDlsY/luZVY5pyA5aSn5YC8LCAxKToKICAgICAgICBpZiBvbmJvYXJkX3RmdC5waXhlbChpbnQoKHggKiAyMCkpLCBpbnQoMCkpID09IDB4ZmZmZjoKICAgICAgICAgICAg5pWM5py65piv5ZCm5a2Y5ZyoID0gVHJ1ZQogICAgICAgICAgICBicmVhawogICAgaWYgbm90IOaVjOacuuaYr+WQpuWtmOWcqDoKICAgICAgICDmlYzmnLpY5Z2Q5qCHID0gcmFuZG9tLnJhbmRpbnQoMSwg5bGP5bmVWOacgOWkp+WAvCAtIDEpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmlYzmnLpY5Z2Q5qCHICogMjApLCAwLCAyMCwgMjAsIDB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5Y+R5bCE5a2Q5by5KCk6CiAgICBnbG9iYWwg5a2Q5by5WOWdkOaghwogICAg5a2Q5by5WOWdkOaghyA9IOacrOaculjlnZDmoIcKICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSgyNjIsIDUwKQogICAgZm9yIOWtkOW8uVnlnZDmoIcgaW4gcmFuZ2Uo5bGP5bmVWeacgOWkp+WAvCAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMjApLCAo5a2Q5by5WeWdkOaghyAqIDIwKSwgMjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXBfbXMoNTApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMjApLCAo5a2Q5by5WeWdkOaghyAqIDIwKSwgMjAsIDIwLCAweDAsc3luYz1UcnVlKQoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDEpLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMDAsIDI0MCwgNDAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjmnKzmnLpY5Z2Q5qCHICogMjApLCAyMDAsIDIwLCAyMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKCjmnKzmnLpY5Z2Q5qCHIC0gMSkgKiAyMCksIDIyMCwgNjAsIDIwLCAweGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDI5NCwgNTApCgpkZWYg5Yik5pat57uT5p2fKCk6CiAgICBnbG9iYWwg5ri45oiP5byA5aeLCiAgICBnbG9iYWwg5Ymp5L2Z5a2Q5by5CiAgICDliankvZnlrZDlvLkgLT0gMQogICAgaWYg5Ymp5L2Z5a2Q5by5IDw9IDA6CiAgICAgICAg5ri45oiP5byA5aeLID0gRmFsc2UKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5b6X5YiGKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQoKZGVmIOiuoeeul+W+l+WIhigpOgogICAgZ2xvYmFsIOW+l+WIhgogICAgaWYg5pWM5py6WOWdkOaghyA9PSDmnKzmnLpY5Z2Q5qCHOgogICAgICAgIOW+l+WIhiArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW+l+WIhiksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoOTg4LCAxMDApCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICAgICAg5pi+56S65oiR5py6KCkKCgrlsY/luZVY5pyA5aSn5YC8ID0gMTEK5bGP5bmVWeacgOWkp+WAvCA9IDExCuacrOaculjlnZDmoIcgPSAxCuaVjOaculjlnZDmoIcgPSAxCuWtkOW8uVjlnZDmoIcgPSAxCuW+l+WIhiA9IDAK5ri45oiP5byA5aeLID0gRmFsc2UK5Ymp5L2Z5a2Q5by5ID0gNQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAg5b6X5YiGID0gMAogICAgICAgIOWJqeS9meWtkOW8uSA9IDUKICAgICAgICDmuLjmiI/lvIDlp4sgPSBUcnVlCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIOa4uOaIj+W8gOWnizoKICAgICAgICDmmL7npLrmlYzmnLooKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAgICAgIOaYvuekuuaIkeacuigpCiAgICAgICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICAgICAg5pi+56S65oiR5py6KCkKICAgICAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOWPkeWwhOWtkOW8uSgpCiAgICAgICAgICAgIOiuoeeul+W+l+WIhigpCiAgICAgICAgICAgIOWIpOaWree7k+adnygpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-1 连接WIFI.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-1 连接WIFI.mix index beb79ee7..33cbf7d5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-1 连接WIFI.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-1 连接WIFI.mix @@ -1 +1 @@ -MIXIOTrue连接成功!0TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKb25ib2FyZF90ZnQuc2hvd3MoJ+i/nuaOpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file +MIXIOTrue连接成功!0TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKb25ib2FyZF90ZnQuc2hvd3MoJ+i/nuaOpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-2 NTP时钟.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-2 NTP时钟.mix index fa4942a0..9f34e522 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-2 NTP时钟.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/0-1-2 NTP时钟.mix @@ -1 +1 @@ -MIXIOTrue连接成功!0TRUE2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comWHILETRUEs1Mixly0603255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKb25ib2FyZF90ZnQuc2hvd3MoJ+i/nuaOpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NjAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +MIXIOTrue连接成功!0TRUE2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comWHILETRUEs1Mixly0603255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKb25ib2FyZF90ZnQuc2hvd3MoJ+i/nuaOpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NjAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-1 RFID读卡-简单读卡.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-1 RFID读卡-简单读卡.mix index 6dd7e6b1..1e3d8fca 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-1 RFID读卡-简单读卡.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-1 RFID读卡-简单读卡.mix @@ -1 +1 @@ -WHILETRUEs1TrueMixlyx0TRUE{}aW1wb3J0IHRpbWUKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file +WHILETRUEs1TrueMixlyx0TRUE{}aW1wb3J0IHRpbWUKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cihleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKSksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-2 RFID读卡-优化读卡.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-2 RFID读卡-优化读卡.mix index 0bcb88b7..76756364 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-2 RFID读卡-优化读卡.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-1-2 RFID读卡-优化读卡.mix @@ -1 +1 @@ -WHILETRUE卡号卡号TrueMixly卡号0TRUE659100s1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3OgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWNoeWPtywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWNoeWPtywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file +WHILETRUE卡号卡号TrueMixly卡号0TRUE659100s1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3OgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWNoeWPtywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCndoaWxlIFRydWU6CiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOWNoeWPtywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-1 刷卡开门-刷卡就开.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-1 刷卡开门-刷卡就开.mix index 14becbc2..d40d0f2e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-1 刷卡开门-刷卡就开.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-1 刷卡开门-刷卡就开.mix @@ -1 +1 @@ -object_picture.DOOR_CLOSETRUEWHILETRUE卡号卡号659100开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMS41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIOWNoeWPtzoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAg5byA5YWz6ZeoKCkKltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file +object_picture.DOOR_CLOSETRUEWHILETRUE卡号卡号659100开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMS41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIOWNoeWPtzoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAg5byA5YWz6ZeoKCkKltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAg5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAxMDApCiAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-2 刷卡开门-限卡开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-2 刷卡开门-限卡开门.mix index a4675496..6e08f77e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-2 刷卡开门-限卡开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-2-2 刷卡开门-限卡开门.mix @@ -1 +1 @@ -集合中是允许的卡号,可用串口输出获得s1148237826108878760object_picture.DOOR_CLOSETRUEWHILETRUE卡号inx卡号0,1,2,3s1659100Mixly卡号开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCBtYWNoaW5lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMS41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgpzMT0gezE0ODIzNzgyNiwgMTA4ODc4NzYsIDB9Cm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludCjljaHlj7cpCiAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file +集合中是允许的卡号,可用串口输出获得s1148237826108878760object_picture.DOOR_CLOSETRUEWHILETRUE卡号inx卡号0,1,2,3s1659100Mixly卡号开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gc2FudF9neCBpbXBvcnQgZXh0X3JmaWQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmltcG9ydCBtYWNoaW5lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTklORwppbXBvcnQgdGltZQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX09QRU4KCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMS41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKCgpzMT0gezE0ODIzNzgyNiwgMTA4ODc4NzYsIDB9Cm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludCjljaHlj7cpCiAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-1 刷卡管理-加入新卡.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-1 刷卡管理-加入新卡.mix index 18670cf8..ffad2592 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-1 刷卡管理-加入新卡.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-1 刷卡管理-加入新卡.mix @@ -1 +1 @@ -s1管理模式FALSEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key管理模式管理模式11管理模式卡号卡号管理模式adds10卡号988100s1inx卡号0,1,2,3s1659100Mixly卡号开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnMxID0gc2V0KCkK566h55CG5qih5byPID0gRmFsc2UKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnrqHnkIbmqKHlvI8gPSBub3Qg566h55CG5qih5byPCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSznrqHnkIbmqKHlvI8pCiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3OgogICAgICAgIGlmIOeuoeeQhuaooeW8jzoKICAgICAgICAgICAgczEuYWRkKOWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkKogICAgICAgIGlmIOeuoeeQhuaooeW8jzoKICAgICAgICAgICAgczEuYWRkKOWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file +s1管理模式FALSEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key管理模式管理模式11管理模式卡号卡号管理模式adds10卡号988100s1inx卡号0,1,2,3s1659100Mixly卡号开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnMxID0gc2V0KCkK566h55CG5qih5byPID0gRmFsc2UKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnrqHnkIbmqKHlvI8gPSBub3Qg566h55CG5qih5byPCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSznrqHnkIbmqKHlvI8pCiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3OgogICAgICAgIGlmIOeuoeeQhuaooeW8jzoKICAgICAgICAgICAgczEuYWRkKOWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkKogICAgICAgIGlmIOeuoeeQhuaooeW8jzoKICAgICAgICAgICAgczEuYWRkKOWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-2 刷卡管理-添加删除.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-2 刷卡管理-添加删除.mix index b7c794f1..4c33ec25 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-2 刷卡管理-添加删除.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/1-3-2 刷卡管理-添加删除.mix @@ -1 +1 @@ -s1管理模式FALSEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key管理模式管理模式11管理模式卡号卡号管理模式inx卡号0,1,2,3s1discards10卡号131100adds10卡号988100s1inx卡号0,1,2,3s1659100Mixly卡号开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnMxID0gc2V0KCkK566h55CG5qih5byPID0gRmFsc2UKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnrqHnkIbmqKHlvI8gPSBub3Qg566h55CG5qih5byPCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSznrqHnkIbmqKHlvI8pCiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3OgogICAgICAgIGlmIOeuoeeQhuaooeW8jzoKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgczEuZGlzY2FyZCjljaHlj7cpCiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTMxLCAxMDApCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzMS5hZGQo5Y2h5Y+3KQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkKAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzMS5hZGQo5Y2h5Y+3KQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file +s1管理模式FALSEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key管理模式管理模式11管理模式卡号卡号管理模式inx卡号0,1,2,3s1discards10卡号131100adds10卡号988100s1inx卡号0,1,2,3s1659100Mixly卡号开关门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEs1.5object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9DTE9TRQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKZnJvbSBzYW50X2d4IGltcG9ydCBleHRfcmZpZApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKaW1wb3J0IG1hY2hpbmUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiDlvIDlhbPpl6goKToKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC41KQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxLjUpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICB0aW1lLnNsZWVwKDAuNSkKICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCnMxID0gc2V0KCkK566h55CG5qih5byPID0gRmFsc2UKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnrqHnkIbmqKHlvI8gPSBub3Qg566h55CG5qih5byPCiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSznrqHnkIbmqKHlvI8pCiAgICDljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYg5Y2h5Y+3OgogICAgICAgIGlmIOeuoeeQhuaooeW8jzoKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgczEuZGlzY2FyZCjljaHlj7cpCiAgICAgICAgICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoMTMxLCAxMDApCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzMS5hZGQo5Y2h5Y+3KQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkKAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzMS5hZGQo5Y2h5Y+3KQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDk4OCwgMTAwKQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYg5Y2h5Y+3IGluIHMxOgogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgICAgICAgICAgICAgcHJpbnQo5Y2h5Y+3KQogICAgICAgICAgICAgICAg5byA5YWz6ZeoKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-1 远程监测器-环境监测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-1 远程监测器-环境监测.mix index 1371cf18..0a1494be 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-1 远程监测器-环境监测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-1 远程监测器-环境监测.mix @@ -1 +1 @@ -1TrueWHILETRUEs2Mixly温度:{} 湿度:{} 光照:{}temperaturehumidityl{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCgoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHByaW50KEVTUE5vd19yYWRpb19tc2cpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDIpCiAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwn5rip5bqmOnt9IOa5v+W6pjp7fSDlhYnnhac6e30nLmZvcm1hdChvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCBvbmJvYXJkX3Rocy5odW1pZGl0eSgpLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkpCg== \ No newline at end of file +1TrueWHILETRUEs2Mixly温度:{} 湿度:{} 光照:{}temperaturehumidityl{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmltcG9ydCBtYWNoaW5lCgoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIHByaW50KEVTUE5vd19yYWRpb19tc2cpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigiX19hbGxfXyIsIEVTUE5vd19yYWRpb19yZWN2KQoKCgpFU1BOb3dfcmFkaW8uc2V0X2NoYW5uZWwoY2hhbm5lbD0xKQpFU1BOb3dfcmFkaW8uYWN0aXZlKFRydWUpCndoaWxlIFRydWU6CiAgICB0aW1lLnNsZWVwKDIpCiAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwn5rip5bqmOnt9IOa5v+W6pjp7fSDlhYnnhac6e30nLmZvcm1hdChvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCBvbmJvYXJkX3Rocy5odW1pZGl0eSgpLCBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示.mix index c1a47ec6..65a357ae 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示.mix @@ -1 +1 @@ -1TrueWHILETRUEs2Mixly"温度""湿度""光照"temperaturehumiditylmydict{"name":"Mixly","color":"green"}TrueMixly温度:Mixlyxmydict温度04020255,255,0#ffffffTRUETrueMixly湿度:Mixlyxmydict湿度010020255,255,0#ffffffTRUETrueMixly光照:Mixlyxmydict光照016020255,255,0#ffffffTRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQganNvbgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMoRVNQTm93X3JhZGlvX21zZykKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmuKnluqY6JyArIHN0cihteWRpY3RbJ+a4qeW6piddKSwgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a5v+W6pjonICsgc3RyKG15ZGljdFsn5rm/5bqmJ10pLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFieeFpzonICsgc3RyKG15ZGljdFsn5YWJ54WnJ10pLCB4PTAsIHk9MTYwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgyKQogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsbWl4cHkuZm9ybWF0X3N0cih7Iua4qeW6piI6IG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksICLmub/luqYiOiBvbmJvYXJkX3Rocy5odW1pZGl0eSgpLCAi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCl9KSkK \ No newline at end of file +1TrueWHILETRUEs2Mixly"温度""湿度""光照"temperaturehumiditylmydict{"name":"Mixly","color":"green"}TrueMixly温度:Mixlyxmydict温度04020255,255,0#ffffffTRUETrueMixly湿度:Mixlyxmydict湿度010020255,255,0#ffffffTRUETrueMixly光照:Mixlyxmydict光照016020255,255,0#ffffffTRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQganNvbgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMoRVNQTm93X3JhZGlvX21zZykKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmuKnluqY6JyArIHN0cihteWRpY3RbJ+a4qeW6piddKSwgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a5v+W6pjonICsgc3RyKG15ZGljdFsn5rm/5bqmJ10pLCB4PTAsIHk9MTAwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFieeFpzonICsgc3RyKG15ZGljdFsn5YWJ54WnJ10pLCB4PTAsIHk9MTYwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIl9fYWxsX18iLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgdGltZS5zbGVlcCgyKQogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsbWl4cHkuZm9ybWF0X3N0cih7Iua4qeW6piI6IG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksICLmub/luqYiOiBvbmJvYXJkX3Rocy5odW1pZGl0eSgpLCAi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCl9KSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示2.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示2.mix index 563d9d10..ce3dd9ec 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示2.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-1-2 远程监测器-优化显示2.mix @@ -1 +1 @@ -1TrueWHILETRUEs2Mixly"温度""湿度""光照"temperaturehumiditylmydict{"name":"Mixly","color":"green"}index00,1,2,3mydictiADDindex1TrueMixly温度:iMixlyxmydict温度i040MULTIPLY501index20255,255,0#ffffffTRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQganNvbgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMoRVNQTm93X3JhZGlvX21zZykKICAgIGluZGV4ID0gMAogICAgZm9yIGkgaW4gbXlkaWN0LmtleXMoKToKICAgICAgICBpbmRleCArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSArIHN0cihteWRpY3RbaV0pLCB4PTAsIHk9NTAgKiBpbmRleCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLG1peHB5LmZvcm1hdF9zdHIoeyLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgIuWFieeFpyI6IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpfSkpCg== \ No newline at end of file +1TrueWHILETRUEs2Mixly"温度""湿度""光照"temperaturehumiditylmydict{"name":"Mixly","color":"green"}index00,1,2,3mydictiADDindex1TrueMixly温度:iMixlyxmydict温度i040MULTIPLY501index20255,255,0#ffffffTRUE{}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtaXhweQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbAppbXBvcnQganNvbgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CgoKRVNQTm93X3JhZGlvID0gcmFkaW8uRVNQTm93KCkKCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMoRVNQTm93X3JhZGlvX21zZykKICAgIGluZGV4ID0gMAogICAgZm9yIGkgaW4gbXlkaWN0LmtleXMoKToKICAgICAgICBpbmRleCArPSAxCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoaSArIHN0cihteWRpY3RbaV0pLCB4PTAsIHk9NTAgKiBpbmRleCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCJfX2FsbF9fIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMikKICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLG1peHB5LmZvcm1hdF9zdHIoeyLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgIuWFieeFpyI6IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpfSkpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-1 无线遥控灯-无线开关.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-1 无线遥控灯-无线开关.mix index a86b44a5..63385579 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-1 无线遥控灯-无线开关.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-1 无线遥控灯-无线开关.mix @@ -1 +1 @@ -1TrueWHILETRUEB1key开关+L1B2key开关+L2开关+L11-1开关+L22-1{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLlvIDlhbMrTDEiLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwtMSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLlvIDlhbMrTDIiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCflvIDlhbMrTDEnKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCflvIDlhbMrTDInKQo= \ No newline at end of file +1TrueWHILETRUEB1key开关+L1B2key开关+L2开关+L11-1开关+L22-1{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwtMSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLlvIDlhbMrTDEiLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwtMSkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLlvIDlhbMrTDIiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCflvIDlhbMrTDEnKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCflvIDlhbMrTDInKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-2 无线遥控灯-光感遥控.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-2 无线遥控灯-光感遥控.mix index 091b4fce..07d24550 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-2 无线遥控灯-光感遥控.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-2-2 无线遥控灯-光感遥控.mix @@ -1 +1 @@ -1TrueWHILETRUELTl20开+L1关+L1LTr20开+L2关+L2s2开+L111关+L110开+L221关+L220{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJhZGlvCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigi5byAK0wxIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLlhbMrTDEiLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIuW8gCtMMiIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigi5YWzK0wyIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpIDwgMjA6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ+W8gCtMMScpCiAgICBlbHNlOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCflhbMrTDEnKQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCAyMDoKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwn5byAK0wyJykKICAgIGVsc2U6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ+WFsytMMicpCiAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file +1TrueWHILETRUELTl20开+L1关+L1LTr20开+L2关+L2s2开+L111关+L110开+L221关+L220{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJhZGlvCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX3IKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2xlZAoKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigi5byAK0wxIiwgRVNQTm93X3JhZGlvX3JlY3YpCgpkZWYgRVNQTm93X3JhZGlvX3JlY3YobWFjLCBFU1BOb3dfcmFkaW9fbXNnKToKICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLlhbMrTDEiLCBFU1BOb3dfcmFkaW9fcmVjdikKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMiwxKQoKRVNQTm93X3JhZGlvLnJlY3ZfY2IoIuW8gCtMMiIsIEVTUE5vd19yYWRpb19yZWN2KQoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLDApCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigi5YWzK0wyIiwgRVNQTm93X3JhZGlvX3JlY3YpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpIDwgMjA6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ+W8gCtMMScpCiAgICBlbHNlOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCflhbMrTDEnKQogICAgaWYgb25ib2FyZF9hbHNfci5hbHNfdmlzKCkgPCAyMDoKICAgICAgICBFU1BOb3dfcmFkaW8uc2VuZCgiZmZmZmZmZmZmZmZmIiwn5byAK0wyJykKICAgIGVsc2U6CiAgICAgICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ+WFsytMMicpCiAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-1 防丢提示器-按下响铃.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-1 防丢提示器-按下响铃.mix index c6d23144..767cf1da 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-1 防丢提示器-按下响铃.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-1 防丢提示器-按下响铃.mix @@ -1 +1 @@ -1TrueWHILETRUEB1key防丢+beep防丢+beep659200{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAyMDApCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigi6Ziy5LiiK2JlZXAiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCfpmLLkuKIrYmVlcCcpCg== \ No newline at end of file +1TrueWHILETRUEB1key防丢+beep防丢+beep659200{}aW1wb3J0IHJhZGlvCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCkVTUE5vd19yYWRpbyA9IHJhZGlvLkVTUE5vdygpCgoKZGVmIEVTUE5vd19yYWRpb19yZWN2KG1hYywgRVNQTm93X3JhZGlvX21zZyk6CiAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAyMDApCgpFU1BOb3dfcmFkaW8ucmVjdl9jYigi6Ziy5LiiK2JlZXAiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKRVNQTm93X3JhZGlvLnNldF9jaGFubmVsKGNoYW5uZWw9MSkKRVNQTm93X3JhZGlvLmFjdGl2ZShUcnVlKQp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIEVTUE5vd19yYWRpby5zZW5kKCJmZmZmZmZmZmZmZmYiLCfpmLLkuKIrYmVlcCcpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-2 防丢提示器-丢失报警.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-2 防丢提示器-丢失报警.mix index f80dd6dd..5f16bf36 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-2 防丢提示器-丢失报警.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/2-3-2 防丢提示器-丢失报警.mix @@ -1 +1 @@ -tim1True丢失状态TRUE计时开始msPERIODICtim02000tim_callbackWHILETRUE计时开始ms丢失状态TRUETRUEs5丢失状态onboard_music.BA_DINGexpression_picture.SadTRUEtim_callback防丢心跳防丢心跳丢失状态丢失状态FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBTYWQKCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIOS4ouWkseeKtuaAgQogICAg5Lii5aSx54q25oCBID0gRmFsc2UKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLpmLLkuKLlv4Pot7MiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ+mYsuS4ouW/g+i3sycpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkK5Lii5aSx54q25oCBID0gVHJ1ZQrorqHml7blvIDlp4sgPSB0aW1lLnRpY2tzX21zKCkKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDIwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAg6K6h5pe25byA5aeLID0gdGltZS50aWNrc19tcygpCiAgICDkuKLlpLHnirbmgIEgPSBUcnVlCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCg1KQogICAgaWYg5Lii5aSx54q25oCBOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU2FkLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=NhZCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +tim1True丢失状态TRUE计时开始msPERIODICtim02000tim_callbackWHILETRUE计时开始ms丢失状态TRUETRUEs5丢失状态onboard_music.BA_DINGexpression_picture.SadTRUEtim_callback防丢心跳防丢心跳丢失状态丢失状态FALSE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IHJhZGlvCmltcG9ydCB0aW1lCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCmZyb20gZXhwcmVzc2lvbl9waWN0dXJlIGltcG9ydCBTYWQKCgpFU1BOb3dfcmFkaW8gPSByYWRpby5FU1BOb3coKQoKCmRlZiBFU1BOb3dfcmFkaW9fcmVjdihtYWMsIEVTUE5vd19yYWRpb19tc2cpOgogICAgZ2xvYmFsIOS4ouWkseeKtuaAgQogICAg5Lii5aSx54q25oCBID0gRmFsc2UKCkVTUE5vd19yYWRpby5yZWN2X2NiKCLpmLLkuKLlv4Pot7MiLCBFU1BOb3dfcmFkaW9fcmVjdikKCgoKZGVmIHRpbV9jYWxsYmFjayh0aW0pOgogICAgRVNQTm93X3JhZGlvLnNlbmQoImZmZmZmZmZmZmZmZiIsJ+mYsuS4ouW/g+i3sycpCgoKCkVTUE5vd19yYWRpby5zZXRfY2hhbm5lbChjaGFubmVsPTEpCkVTUE5vd19yYWRpby5hY3RpdmUoVHJ1ZSkK5Lii5aSx54q25oCBID0gVHJ1ZQrorqHml7blvIDlp4sgPSB0aW1lLnRpY2tzX21zKCkKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDIwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAg6K6h5pe25byA5aeLID0gdGltZS50aWNrc19tcygpCiAgICDkuKLlpLHnirbmgIEgPSBUcnVlCiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCg1KQogICAgaWYg5Lii5aSx54q25oCBOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoU2FkLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=NhZCwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-1 网络时钟-NTP语音播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-1 网络时钟-NTP语音播报.mix index 4449053b..4a1edda1 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-1 网络时钟-NTP语音播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-1 网络时钟-NTP语音播报.mix @@ -1 +1 @@ -MIXIOTrue连接成功!0TRUE2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comWHILETRUEs1Mixly0603255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKb25ib2FyZF90ZnQuc2hvd3MoJ+i/nuaOpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NjAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +MIXIOTrue连接成功!0TRUE2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comWHILETRUEs1Mixly0603255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmltcG9ydCB0aW1lCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKb25ib2FyZF90ZnQuc2hvd3MoJ+i/nuaOpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwLmFsaXl1bi5jb20nKSkKd2hpbGUgVHJ1ZToKICAgIHRpbWUuc2xlZXAoMSkKICAgIG9uYm9hcmRfdGZ0LnRleHRzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9NjAsIHNpemU9MywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-2 网络时钟-NTP按需同步.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-2 网络时钟-NTP按需同步.mix index cad847a3..82f05176 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-2 网络时钟-NTP按需同步.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-1-2 网络时钟-NTP按需同步.mix @@ -1 +1 @@ -timfuhua312345678True连接成功!0TRUE2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comPERIODICtim01000tim_callbackWHILETRUEB2key2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comTrue同步成功!0TRUEB1keyTRUEtim_callbackMixly0603255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hc3IKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTYwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCfov57mjqXmiJDlip8hJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WQjOatpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQo=fYXNyLnBsYXlfdGltZShkZXRhaWw9VHJ1ZSkK \ No newline at end of file +timfuhua312345678True连接成功!0TRUE2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comPERIODICtim01000tim_callbackWHILETRUEB2key2025,7,11,8,46,23ntp.aliyun.comntp.aliyun.comTrue同步成功!0TRUEB1keyTRUEtim_callbackMixly0603255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmltcG9ydCBtYWNoaW5lCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hc3IKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTYwLCBzaXplPTMsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ2Z1aHVhMycsICcxMjM0NTY3OCcpCm9uYm9hcmRfdGZ0LnNob3dzKCfov57mjqXmiJDlip8hJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSAxMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WQjOatpeaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQo=fYXNyLnBsYXlfdGltZShkZXRhaWw9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-1 网络天气-实时天气.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-1 网络天气-实时天气.mix index b2962c1f..e964116c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-1 网络天气-实时天气.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-1 网络天气-实时天气.mix @@ -1 +1 @@ -MIXIOTrue连接成功!0TRUE2025,7,13,16,23,7ntp.aliyun.comntp.aliyun.comWeather_nowSVa3S0UKHIy9dDArs北京WHILETRUEB1keyTRUEMixly01752255,255,0#ffffffFALSETrueMixly天气:Mixlytext0020255,255,0#ffffffFALSETrueMixly温度:Mixlytemperature03520255,255,0#ffffffFALSETrueMixly湿度:Mixlyhumidity07020255,255,0#ffffffFALSETrueMixly风向:Mixlywind_direction010520255,255,0#ffffffFALSETrueMixly风力:Mixlywind_scale014020255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmZyb20gc2VuaXZlcnNlX2FwaSBpbXBvcnQgKgppbXBvcnQgbWl4Z29fc2FudAoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCm9uYm9hcmRfdGZ0LnNob3dzKCfov57mjqXmiJDlip8hJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCldlYXRoZXJfbm93LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTE3NSwgc2l6ZT0yLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5aSp5rCUOicgKyBXZWF0aGVyX25vdy5hbmFseXNpcygidGV4dCIpLCB4PTAsIHk9MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4qeW6pjonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRlbXBlcmF0dXJlIiksIHg9MCwgeT0zNSwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a5v+W6pjonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoImh1bWlkaXR5IiksIHg9MCwgeT03MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mjjuWQkTonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoIndpbmRfZGlyZWN0aW9uIiksIHg9MCwgeT0xMDUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpo47lips6JyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJ3aW5kX3NjYWxlIiksIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +MIXIOTrue连接成功!0TRUE2025,7,13,16,23,7ntp.aliyun.comntp.aliyun.comWeather_nowSVa3S0UKHIy9dDArs北京WHILETRUEB1keyTRUEMixly01752255,255,0#ffffffFALSETrueMixly天气:Mixlytext0020255,255,0#ffffffFALSETrueMixly温度:Mixlytemperature03520255,255,0#ffffffFALSETrueMixly湿度:Mixlyhumidity07020255,255,0#ffffffFALSETrueMixly风向:Mixlywind_direction010520255,255,0#ffffffFALSETrueMixly风力:Mixlywind_scale014020255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmZyb20gc2VuaXZlcnNlX2FwaSBpbXBvcnQgKgppbXBvcnQgbWl4Z29fc2FudAoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCm9uYm9hcmRfdGZ0LnNob3dzKCfov57mjqXmiJDlip8hJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCldlYXRoZXJfbm93LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTE3NSwgc2l6ZT0yLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5aSp5rCUOicgKyBXZWF0aGVyX25vdy5hbmFseXNpcygidGV4dCIpLCB4PTAsIHk9MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a4qeW6pjonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoInRlbXBlcmF0dXJlIiksIHg9MCwgeT0zNSwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+a5v+W6pjonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoImh1bWlkaXR5IiksIHg9MCwgeT03MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+mjjuWQkTonICsgV2VhdGhlcl9ub3cuYW5hbHlzaXMoIndpbmRfZGlyZWN0aW9uIiksIHg9MCwgeT0xMDUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpo47lips6JyArIFdlYXRoZXJfbm93LmFuYWx5c2lzKCJ3aW5kX3NjYWxlIiksIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-2 网络天气-天气预报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-2 网络天气-天气预报.mix index 2cbd0b1f..f478f5b7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-2 网络天气-天气预报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/3-2-2 网络天气-天气预报.mix @@ -1 +1 @@ -MIXIOTrue连接成功!0TRUE2025,7,13,16,23,7ntp.aliyun.comntp.aliyun.comWeather_nowSVa3S0UKHIy9dDArs北京获取天气FALSE序号0WHILETRUEB1keyWeather_dailySVa3S0UKHIy9dDArs北京7True获取成功!0TRUE获取天气TRUEANDB2key获取天气TRUETrueMixly北京 序号:Mixlyx序号017520255,255,0#ffffffFALSETrueMixly白天天气:Mixlytext_day1序号0020255,255,0#ffffffFALSETrueMixly晚上天气:Mixlytext_night1序号03520255,255,0#ffffffFALSETrueMixly最高温度:Mixlyhigh1序号07020255,255,0#ffffffFALSETrueMixly最低温度:Mixlylow1序号010520255,255,0#ffffffFALSETrueMixly降水概率:Mixlyprecip1序号014020255,255,0#ffffffTRUE序号QUYU1ADD1序号17{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmZyb20gc2VuaXZlcnNlX2FwaSBpbXBvcnQgKgppbXBvcnQgbWl4Z29fc2FudAoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCm9uYm9hcmRfdGZ0LnNob3dzKCfov57mjqXmiJDlip8hJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCldlYXRoZXJfbm93LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcpCuiOt+WPluWkqeawlCA9IEZhbHNlCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBXZWF0aGVyX2RhaWx5LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcsIDcpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iOt+WPluaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6I635Y+W5aSp5rCUID0gVHJ1ZQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCDojrflj5blpKnmsJQ6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YyX5LqsIOW6j+WPtzonICsgc3RyKOW6j+WPtyksIHg9MCwgeT0xNzUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnmb3lpKnlpKnmsJQ6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAidGV4dF9kYXkiKSwgeD0wLCB5PTAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmmZrkuIrlpKnmsJQ6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAidGV4dF9uaWdodCIpLCB4PTAsIHk9MzUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmnIDpq5jmuKnluqY6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAiaGlnaCIpLCB4PTAsIHk9NzAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmnIDkvY7muKnluqY6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAibG93IiksIHg9MCwgeT0xMDUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpmY3msLTmpoLnjoc6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAicHJlY2lwIiksIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAg5bqP5Y+3ID0gKOW6j+WPtyArIDEpICUgNwo= \ No newline at end of file +MIXIOTrue连接成功!0TRUE2025,7,13,16,23,7ntp.aliyun.comntp.aliyun.comWeather_nowSVa3S0UKHIy9dDArs北京获取天气FALSE序号0WHILETRUEB1keyWeather_dailySVa3S0UKHIy9dDArs北京7True获取成功!0TRUE获取天气TRUEANDB2key获取天气TRUETrueMixly北京 序号:Mixlyx序号017520255,255,0#ffffffFALSETrueMixly白天天气:Mixlytext_day1序号0020255,255,0#ffffffFALSETrueMixly晚上天气:Mixlytext_night1序号03520255,255,0#ffffffFALSETrueMixly最高温度:Mixlyhigh1序号07020255,255,0#ffffffFALSETrueMixly最低温度:Mixlylow1序号010520255,255,0#ffffffFALSETrueMixly降水概率:Mixlyprecip1序号014020255,255,0#ffffffTRUE序号QUYU1ADD1序号17{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBudHB0aW1lCmltcG9ydCBydGN0aW1lCmZyb20gc2VuaXZlcnNlX2FwaSBpbXBvcnQgKgppbXBvcnQgbWl4Z29fc2FudAoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCm9uYm9hcmRfdGZ0LnNob3dzKCfov57mjqXmiJDlip8hJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCldlYXRoZXJfbm93LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcpCuiOt+WPluWkqeawlCA9IEZhbHNlCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBXZWF0aGVyX2RhaWx5LnJlcXVlc3QoJ1NWYTNTMFVLSEl5OWREQXJzJywgJ+WMl+S6rCcsIDcpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+iOt+WPluaIkOWKnyEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAg6I635Y+W5aSp5rCUID0gVHJ1ZQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpIGFuZCDojrflj5blpKnmsJQ6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YyX5LqsIOW6j+WPtzonICsgc3RyKOW6j+WPtyksIHg9MCwgeT0xNzUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnmb3lpKnlpKnmsJQ6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAidGV4dF9kYXkiKSwgeD0wLCB5PTAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmmZrkuIrlpKnmsJQ6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAidGV4dF9uaWdodCIpLCB4PTAsIHk9MzUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmnIDpq5jmuKnluqY6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAiaGlnaCIpLCB4PTAsIHk9NzAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfmnIDkvY7muKnluqY6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAibG93IiksIHg9MCwgeT0xMDUsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfpmY3msLTmpoLnjoc6JyArIFdlYXRoZXJfZGFpbHkuYW5hbHlzaXMo5bqP5Y+3LCAicHJlY2lwIiksIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAg5bqP5Y+3ID0gKOW6j+WPtyArIDEpICUgNwo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-1 物联网入门-光强定时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-1 物联网入门-光强定时上报.mix index 51d5729e..ae6542f4 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-1 物联网入门-光强定时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-1 物联网入门-光强定时上报.mix @@ -1 +1 @@ -MIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE光照msgls5{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file +MIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE光照msgls5{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWJ54WnJywgb25ib2FyZF9hbHNfbC5hbHNfdmlzKCkpCiAgICB0aW1lLnNsZWVwKDUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-2 物联网入门-环境定时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-2 物联网入门-环境定时上报.mix index 76147838..299f957e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-2 物联网入门-环境定时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-1-2 物联网入门-环境定时上报.mix @@ -1 +1 @@ -MIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE环境msg"光照""温度""湿度"ltemperaturehumiditys5{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpLCAi5rip5bqmIjogb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgIua5v+W6piI6IG9uYm9hcmRfdGhzLmh1bWlkaXR5KCl9KSkKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file +MIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoWHILETRUE环境msg"光照""温度""湿度"ltemperaturehumiditys5{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKaW1wb3J0IHRpbWUKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn546v5aKDJywgbWl4cHkuZm9ybWF0X3N0cih7IuWFieeFpyI6IG9uYm9hcmRfYWxzX2wuYWxzX3ZpcygpLCAi5rip5bqmIjogb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgIua5v+W6piI6IG9uYm9hcmRfdGhzLmh1bWlkaXR5KCl9KSkKICAgIHRpbWUuc2xlZXAoNSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-1 物联网入门-按键报警上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-1 物联网入门-按键报警上报.mix index 80f19d82..1e6ec75e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-1 物联网入门-按键报警上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-1 物联网入门-按键报警上报.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callbackWHILETRUEB1key警报按键按下tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K2m5oqlJywgJ+aMiemUruaMieS4iycpCg==1RVFRfVVNSX1BSSiArICforabmiqUnLCAn5oyJ6ZSu5oyJ5LiLJykK \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callbackWHILETRUEB1key警报按键按下tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgbWl4cHkKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19sCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6K2m5oqlJywgJ+aMiemUruaMieS4iycpCg==1RVFRfVVNSX1BSSiArICforabmiqUnLCAn5oyJ6ZSu5oyJ5LiLJykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-2 物联网入门-曝光报警上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-2 物联网入门-曝光报警上报.mix index b1c82e60..052b6192 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-2 物联网入门-曝光报警上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/4-2-2 物联网入门-曝光报警上报.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callbackWHILETRUEGTl20警报曝光报警s5tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDIwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+itpuaKpScsICfmm53lhYnmiqXoraYnKQogICAgICAgIHRpbWUuc2xlZXAoNSkKUuc2xlZXAoNSkKeitpicpCiAgICAgICAgdGltZS5zbGVlcCg1KQo=WVwKDUpCg== \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callbackWHILETRUEGTl20警报曝光报警s5tim_callback环境msg"光照""温度""湿度"ltemperaturehumidity{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKaW1wb3J0IHRpbWUKaW1wb3J0IG1peHB5CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnjq/looMnLCBtaXhweS5mb3JtYXRfc3RyKHsi5YWJ54WnIjogb25ib2FyZF9hbHNfbC5hbHNfdmlzKCksICLmuKnluqYiOiBvbmJvYXJkX3Rocy50ZW1wZXJhdHVyZSgpLCAi5rm/5bqmIjogb25ib2FyZF90aHMuaHVtaWRpdHkoKX0pKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19sLmFsc192aXMoKSA+IDIwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+itpuaKpScsICfmm53lhYnmiqXoraYnKQogICAgICAgIHRpbWUuc2xlZXAoNSkKUuc2xlZXAoNSkKeitpicpCiAgICAgICAgdGltZS5zbGVlcCg1KQo=WVwKDUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-1 门禁状态-实时上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-1 门禁状态-实时上报.mix index 55c9611f..89dca1ff 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-1 门禁状态-实时上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-1 门禁状态-实时上报.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callback是否开门TRUEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key门禁TRUE是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEB2key门禁FALSE是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEtim_callback门禁状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICfmraPluLgnKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCuaYr+WQpuW8gOmXqCA9IFRydWUKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBUcnVlCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5piv5ZCm5byA6ZeoJywgJ+W8gCcpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBGYWxzZQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aYr+WQpuW8gOmXqCcsICflhbMnKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=dGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callback是否开门TRUEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key门禁TRUE是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEB2key门禁FALSE是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEtim_callback门禁状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICfmraPluLgnKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdNSVhJTycsICcnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCuaYr+WQpuW8gOmXqCA9IFRydWUKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBUcnVlCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5piv5ZCm5byA6ZeoJywgJ+W8gCcpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBGYWxzZQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aYr+WQpuW8gOmXqCcsICflhbMnKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=dGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-2 门禁状态-心跳上报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-2 门禁状态-心跳上报.mix index 626b174e..b6d11f32 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-2 门禁状态-心跳上报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-1-2 门禁状态-心跳上报.mix @@ -1 +1 @@ -timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callback是否开门TRUE最新发送FALSEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key门禁TRUE最新发送ms是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEB2key门禁FALSE最新发送ms是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEtim_callback最新发送GTEMINUS1ms1最新发送5000门禁状态正常最新发送ms{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDmnIDmlrDlj5HpgIEKICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOacgOaWsOWPkemAgSA+PSA1MDAwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICfmraPluLgnKQogICAgICAgIOacgOaWsOWPkemAgSA9IHRpbWUudGlja3NfbXMoKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCuaYr+WQpuW8gOmXqCA9IFRydWUK5pyA5paw5Y+R6YCBID0gRmFsc2UKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBUcnVlCiAgICAgICAg5pyA5paw5Y+R6YCBID0gdGltZS50aWNrc19tcygpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5piv5ZCm5byA6ZeoJywgJ+W8gCcpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBGYWxzZQogICAgICAgIOacgOaWsOWPkemAgSA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aYr+WQpuW8gOmXqCcsICflhbMnKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file +timfuhua312345678mixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demoPERIODICtim05000tim_callback是否开门TRUE最新发送FALSEobject_picture.DOOR_CLOSETRUEWHILETRUEB1key门禁TRUE最新发送ms是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEB2key门禁FALSE最新发送ms是否开门object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUEtim_callback最新发送GTEMINUS1ms1最新发送5000门禁状态正常最新发送ms{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiB0aW1fY2FsbGJhY2sodGltKToKICAgIGdsb2JhbCDmnIDmlrDlj5HpgIEKICAgIGlmIHRpbWUudGlja3NfbXMoKSAtIOacgOaWsOWPkemAgSA+PSA1MDAwOgogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICfmraPluLgnKQogICAgICAgIOacgOaWsOWPkemAgSA9IHRpbWUudGlja3NfbXMoKQoKCgptaXhpb3Qud2xhbl9jb25uZWN0KCdmdWh1YTMnLCAnMTIzNDU2NzgnKQpNUVRUX1VTUl9QUkogPSAnZGVtb0BtaXhseS5vcmcvZGVtby8nCm1xdHRfY2xpZW50ID0gbWl4aW90LmluaXRfTVFUVF9jbGllbnQoJ21peGlvLm1peGx5LmNuJywgJ2RlbW9AbWl4bHkub3JnJywgJzA0OGU2NjE0NmI0OTM3NTU3MzY2NDg5Y2IxMGZlMDU1JywgTVFUVF9VU1JfUFJKKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCuaYr+WQpuW8gOmXqCA9IFRydWUK5pyA5paw5Y+R6YCBID0gRmFsc2UKb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBUcnVlCiAgICAgICAg5pyA5paw5Y+R6YCBID0gdGltZS50aWNrc19tcygpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5piv5ZCm5byA6ZeoJywgJ+W8gCcpCiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDpl6jnpoEgPSBGYWxzZQogICAgICAgIOacgOaWsOWPkemAgSA9IHRpbWUudGlja3NfbXMoKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+aYr+WQpuW8gOmXqCcsICflhbMnKQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo=9TRSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-1 远程开门-云端开门.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-1 远程开门-云端开门.mix index e9570bb7..50ba75aa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-1 远程开门-云端开门.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-1 远程开门-云端开门.mix @@ -1 +1 @@ -clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUEWHILETRUEmethodEQmsg1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEEQmsg0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5YWz6ZeoJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlhbPpl6gnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUEWHILETRUEmethodEQmsg1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUEEQmsg0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5YWz6ZeoJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlhbPpl6gnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-2 远程开门-开门反馈.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-2 远程开门-开门反馈.mix index 705878c7..a9531f80 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-2 远程开门-开门反馈.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-2-2 远程开门-开门反馈.mix @@ -1 +1 @@ -clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUEWHILETRUEmethodEQmsg1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUE门禁状态开门EQmsg0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE门禁状态关门{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpl6jnpoHnirbmgIEnLCAn5byA6ZeoJykKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6Zeo56aB54q25oCBJywgJ+WFs+mXqCcpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5YWz6ZeoJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlhbPpl6gnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file +clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUEWHILETRUEmethodEQmsg1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUE门禁状态开门EQmsg0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE门禁状态关门{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGlmIG1zZyA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpl6jnpoHnirbmgIEnLCAn5byA6ZeoJykKICAgIGlmIG1zZyA9PSAnMCc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn6Zeo56aB54q25oCBJywgJ+WFs+mXqCcpCgoKCm1peGlvdC53bGFuX2Nvbm5lY3QoJ01JWElPJywgJycpCk1RVFRfVVNSX1BSSiA9ICdkZW1vQG1peGx5Lm9yZy9kZW1vLycKbXF0dF9jbGllbnQgPSBtaXhpb3QuaW5pdF9NUVRUX2NsaWVudCgnbWl4aW8ubWl4bHkuY24nLCAnZGVtb0BtaXhseS5vcmcnLCAnMDQ4ZTY2MTQ2YjQ5Mzc1NTczNjY0ODljYjEwZmUwNTUnLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnNldF9jYWxsYmFjaygn5byA5YWz6ZeoJyxtZXRob2QsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc3Vic2NyaWJlKE1RVFRfVVNSX1BSSiArICflvIDlhbPpl6gnKQpvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQp3aGlsZSBUcnVlOgogICAgbXF0dF9jbGllbnQuY2hlY2tfbXNnKCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-1 开门提示-开门附加消息.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-1 开门提示-开门附加消息.mix index 4ece2733..2b7f46aa 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-1 开门提示-开门附加消息.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-1 开门提示-开门附加消息.mix @@ -1 +1 @@ -clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUEWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgEQmydict动作1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUE门禁状态开门EQmydict动作0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE门禁状态关门TrueMixlymydict消息021020255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgaWYgbXlkaWN0WyfliqjkvZwnXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpl6jnpoHnirbmgIEnLCAn5byA6ZeoJykKICAgIGlmIG15ZGljdFsn5Yqo5L2cJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICflhbPpl6gnKQogICAgb25ib2FyZF90ZnQuc2hvd3MobXlkaWN0Wyfmtojmga8nXSwgeD0wLCB5PTIxMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPpl6gnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+mXqCcpCm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file +clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUEWHILETRUEmethodmydict{"name":"Mixly","color":"green"}msgEQmydict动作1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUE门禁状态开门EQmydict动作0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE门禁状态关门TrueMixlymydict消息021020255,255,0#ffffffTRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgaWYgbXlkaWN0WyfliqjkvZwnXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpl6jnpoHnirbmgIEnLCAn5byA6ZeoJykKICAgIGlmIG15ZGljdFsn5Yqo5L2cJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICflhbPpl6gnKQogICAgb25ib2FyZF90ZnQuc2hvd3MobXlkaWN0Wyfmtojmga8nXSwgeD0wLCB5PTIxMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPpl6gnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+mXqCcpCm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-2 开门提示-附加消息反馈.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-2 开门提示-附加消息反馈.mix index bb1dea61..c5d51f0e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-2 开门提示-附加消息反馈.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/5-3-2 开门提示-附加消息反馈.mix @@ -1 +1 @@ -clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUE需要回复FALSEWHILETRUE需要回复B1key消息状态已读需要回复FALSETrue021020255,255,0#ffffffTRUEmethod需要回复mydict{"name":"Mixly","color":"green"}msgEQmydict动作1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUE门禁状态开门EQmydict动作0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE门禁状态关门TrueMixlymydict消息021020255,255,0#ffffffTRUE需要回复TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDpnIDopoHlm57lpI0KICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgaWYgbXlkaWN0WyfliqjkvZwnXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpl6jnpoHnirbmgIEnLCAn5byA6ZeoJykKICAgIGlmIG15ZGljdFsn5Yqo5L2cJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICflhbPpl6gnKQogICAgb25ib2FyZF90ZnQuc2hvd3MobXlkaWN0Wyfmtojmga8nXSwgeD0wLCB5PTIxMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIOmcgOimgeWbnuWkjSA9IFRydWUKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPpl6gnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+mXqCcpCm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCumcgOimgeWbnuWkjSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg6ZyA6KaB5Zue5aSNOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5raI5oGv54q25oCBJywgJ+W3suivuycpCiAgICAgICAgICAgIOmcgOimgeWbnuWkjSA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCcnLCB4PTAsIHk9MjEwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file +clienttopicmsgMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo开关门methodobject_picture.DOOR_CLOSETRUE需要回复FALSEWHILETRUE需要回复B1key消息状态已读需要回复FALSETrue021020255,255,0#ffffffTRUEmethod需要回复mydict{"name":"Mixly","color":"green"}msgEQmydict动作1object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_OPENTRUE门禁状态开门EQmydict动作0object_picture.DOOR_OPENINGTRUEs0.5object_picture.DOOR_CLOSETRUE门禁状态关门TrueMixlymydict消息021020255,255,0#ffffffTRUE需要回复TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIG9iamVjdF9waWN0dXJlIGltcG9ydCBET09SX0NMT1NFCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IGpzb24KZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmltcG9ydCB0aW1lCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgoKCmRlZiBtZXRob2QoY2xpZW50LCB0b3BpYywgbXNnKToKICAgIGdsb2JhbCDpnIDopoHlm57lpI0KICAgIG15ZGljdCA9IGpzb24ubG9hZHMobXNnKQogICAgaWYgbXlkaWN0WyfliqjkvZwnXSA9PSAnMSc6CiAgICAgICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTiwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfpl6jnpoHnirbmgIEnLCAn5byA6ZeoJykKICAgIGlmIG15ZGljdFsn5Yqo5L2cJ10gPT0gJzAnOgogICAgICAgIG9uYm9hcmRfdGZ0LmltYWdlKERPT1JfT1BFTklORywgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDAuNSkKICAgICAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX0NMT1NFLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mXqOemgeeKtuaAgScsICflhbPpl6gnKQogICAgb25ib2FyZF90ZnQuc2hvd3MobXlkaWN0Wyfmtojmga8nXSwgeD0wLCB5PTIxMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIOmcgOimgeWbnuWkjSA9IFRydWUKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikKbXF0dF9jbGllbnQuc2V0X2NhbGxiYWNrKCflvIDlhbPpl6gnLG1ldGhvZCwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zdWJzY3JpYmUoTVFUVF9VU1JfUFJKICsgJ+W8gOWFs+mXqCcpCm9uYm9hcmRfdGZ0LmltYWdlKERPT1JfQ0xPU0UsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCumcgOimgeWbnuWkjSA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBtcXR0X2NsaWVudC5jaGVja19tc2coKQogICAgaWYg6ZyA6KaB5Zue5aSNOgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5raI5oGv54q25oCBJywgJ+W3suivuycpCiAgICAgICAgICAgIOmcgOimgeWbnuWkjSA9IEZhbHNlCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCcnLCB4PTAsIHk9MjEwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-1 空余车位显示-进场变化.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-1 空余车位显示-进场变化.mix index 29625d08..b8e21fa7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-1 空余车位显示-进场变化.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-1 空余车位显示-进场变化.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20PERIODICtim050000tim_callback入库车辆集合WHILETRUE车辆卡号车辆卡号TRUEnot inx车辆卡号0,1,2,3入库车辆集合True入库车辆:014020255,255,0#ffffffFALSEadd入库车辆集合0车辆卡号True出库车辆:014020255,255,0#ffffffFALSEdiscard入库车辆集合0车辆卡号True入库车辆:车辆卡号020020255,255,0#ffffffFALSETrueMixly车位总数:Mixlyx车位总数02020255,255,0#ffffffFALSETrueMixly剩余车位:MixlyxMINUS1车位总数1入库车辆集合08020255,255,0#ffffffTRUE空余车位正常MINUS1车位总数1入库车辆集合s2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5YWl5bqT6L2m6L6G6ZuG5ZCIID0gc2V0KCkKd2hpbGUgVHJ1ZToKICAgIOi9pui+huWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovobljaHlj7c6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBpZiDovabovobljaHlj7cgbm90IGluIOWFpeW6k+i9pui+humbhuWQiDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICDlhaXlupPovabovobpm4blkIguYWRkKOi9pui+huWNoeWPtykKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTE0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOWFpeW6k+i9pui+humbhuWQiC5kaXNjYXJkKOi9pui+huWNoeWPtykKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT0yMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3mgLvmlbDvvJonICsgc3RyKOi9puS9jeaAu+aVsCksIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrkvZnovabkvY0nLCAo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKQogICAgICAgIHRpbWUuc2xlZXAoMikKHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrkvZnovabkvY0nLCAo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKQogICAgICAgIHRpbWUuc2xlZXAoMikKijlhaXlupPovabovobpm4blkIgpKSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20PERIODICtim050000tim_callback入库车辆集合WHILETRUE车辆卡号车辆卡号TRUEnot inx车辆卡号0,1,2,3入库车辆集合True入库车辆:014020255,255,0#ffffffFALSEadd入库车辆集合0车辆卡号True出库车辆:014020255,255,0#ffffffFALSEdiscard入库车辆集合0车辆卡号True入库车辆:车辆卡号020020255,255,0#ffffffFALSETrueMixly车位总数:Mixlyx车位总数02020255,255,0#ffffffFALSETrueMixly剩余车位:MixlyxMINUS1车位总数1入库车辆集合08020255,255,0#ffffffTRUE空余车位正常MINUS1车位总数1入库车辆集合s2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5YWl5bqT6L2m6L6G6ZuG5ZCIID0gc2V0KCkKd2hpbGUgVHJ1ZToKICAgIOi9pui+huWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovobljaHlj7c6CiAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICBpZiDovabovobljaHlj7cgbm90IGluIOWFpeW6k+i9pui+humbhuWQiDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICDlhaXlupPovabovobpm4blkIguYWRkKOi9pui+huWNoeWPtykKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTE0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIOWFpeW6k+i9pui+humbhuWQiC5kaXNjYXJkKOi9pui+huWNoeWPtykKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT0yMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3mgLvmlbDvvJonICsgc3RyKOi9puS9jeaAu+aVsCksIHg9MCwgeT0yMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrkvZnovabkvY0nLCAo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKQogICAgICAgIHRpbWUuc2xlZXAoMikKHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrkvZnovabkvY0nLCAo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKQogICAgICAgIHRpbWUuc2xlZXAoMikKijlhaXlupPovabovobpm4blkIgpKSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-2 空余车位显示-车位已满.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-2 空余车位显示-车位已满.mix index aa4c6cba..2ebf713e 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-2 空余车位显示-车位已满.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-1-2 空余车位显示-车位已满.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20PERIODICtim050000tim_callback入库车辆集合WHILETRUE车辆卡号车辆卡号GTMINUS1车位总数1入库车辆集合0TRUEnot inx车辆卡号0,1,2,3入库车辆集合True入库车辆:014020255,255,0#ffffffFALSEadd入库车辆集合0车辆卡号True出库车辆:014020255,255,0#ffffffFALSEdiscard入库车辆集合0车辆卡号True入库车辆:车辆卡号020020255,255,0#ffffffFALSETrueMixly车位总数:Mixlyx车位总数02020255,255,0#ffffffFALSETrueMixly剩余车位:MixlyxMINUS1车位总数1入库车辆集合08020255,255,0#ffffffTRUE空余车位正常MINUS1车位总数1入库车辆集合s2True车位已满0TRUEtim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5YWl5bqT6L2m6L6G6ZuG5ZCIID0gc2V0KCkKd2hpbGUgVHJ1ZToKICAgIOi9pui+huWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovobljaHlj7c6CiAgICAgICAgaWYg6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkgPiAwOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBpZiDovabovobljaHlj7cgbm90IGluIOWFpeW6k+i9pui+humbhuWQiDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflhaXlupPovabovobvvJonLCB4PTAsIHk9MTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIOWFpeW6k+i9pui+humbhuWQiC5hZGQo6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WHuuW6k+i9pui+hu+8micsIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5YWl5bqT6L2m6L6G6ZuG5ZCILmRpc2NhcmQo6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT0yMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L2m5L2N5oC75pWw77yaJyArIHN0cijovabkvY3mgLvmlbApLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ymp5L2Z6L2m5L2N77yaJyArIHN0cigo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKSwgeD0wLCB5PTgwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrkvZnovabkvY0nLCAo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKQogICAgICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn56m65L2Z6L2m5L2NJywgKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSkKICAgICAgICAgICAgdGltZS5zbGVlcCgyKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3lt7Lmu6EnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20PERIODICtim050000tim_callback入库车辆集合WHILETRUE车辆卡号车辆卡号GTMINUS1车位总数1入库车辆集合0TRUEnot inx车辆卡号0,1,2,3入库车辆集合True入库车辆:014020255,255,0#ffffffFALSEadd入库车辆集合0车辆卡号True出库车辆:014020255,255,0#ffffffFALSEdiscard入库车辆集合0车辆卡号True入库车辆:车辆卡号020020255,255,0#ffffffFALSETrueMixly车位总数:Mixlyx车位总数02020255,255,0#ffffffFALSETrueMixly剩余车位:MixlyxMINUS1车位总数1入库车辆集合08020255,255,0#ffffffTRUE空余车位正常MINUS1车位总数1入库车辆集合s2True车位已满0TRUEtim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykK5YWl5bqT6L2m6L6G6ZuG5ZCIID0gc2V0KCkKd2hpbGUgVHJ1ZToKICAgIOi9pui+huWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiDovabovobljaHlj7c6CiAgICAgICAgaWYg6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkgPiAwOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBpZiDovabovobljaHlj7cgbm90IGluIOWFpeW6k+i9pui+humbhuWQiDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflhaXlupPovabovobvvJonLCB4PTAsIHk9MTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIOWFpeW6k+i9pui+humbhuWQiC5hZGQo6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WHuuW6k+i9pui+hu+8micsIHg9MCwgeT0xNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5YWl5bqT6L2m6L6G6ZuG5ZCILmRpc2NhcmQo6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT0yMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L2m5L2N5oC75pWw77yaJyArIHN0cijovabkvY3mgLvmlbApLCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ymp5L2Z6L2m5L2N77yaJyArIHN0cigo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKSwgeD0wLCB5PTgwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfnqbrkvZnovabkvY0nLCAo6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+humbhuWQiCkpKQogICAgICAgICAgICB0aW1lLnNsZWVwKDIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn56m65L2Z6L2m5L2NJywgKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSkKICAgICAgICAgICAgdGltZS5zbGVlcCgyKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3lt7Lmu6EnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-1 停车时间计算-时间记录.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-1 停车时间计算-时间记录.mix index ec70e54c..e44af104 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-1 停车时间计算-时间记录.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-1 停车时间计算-时间记录.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True出库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffFALSETrue进出时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YWl5bqT6L2m6L6G5a2X5YW4PSB7fQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSA1MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDovabovobljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOi9pui+huWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIGlmIOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovoblrZflhbgpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgaWYg6L2m6L6G5Y2h5Y+3IG5vdCBpbiDlhaXlupPovabovoblrZflhbgua2V5cygpOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSA9IHRpbWUubWt0aW1lKHRpbWUubG9jYWx0aW1lKCkpCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIGRlbCDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XQogICAgICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywg6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT04MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfov5vlh7rml7bpl7TvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg==NsZWVwKDIpCg==RydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo=2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeaAu+aVsO+8micgKyBzdHIo6L2m5L2N5oC75pWwKSwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn56m65L2Z6L2m5L2NJywgKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSkKICAgICAgICAgICAgdGltZS5zbGVlcCgyKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3lt7Lmu6EnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True出库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffFALSETrue进出时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YWl5bqT6L2m6L6G5a2X5YW4PSB7fQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cC5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSA1MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDovabovobljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOi9pui+huWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIGlmIOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovoblrZflhbgpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgaWYg6L2m6L6G5Y2h5Y+3IG5vdCBpbiDlhaXlupPovabovoblrZflhbgua2V5cygpOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSA9IHRpbWUubWt0aW1lKHRpbWUubG9jYWx0aW1lKCkpCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIGRlbCDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XQogICAgICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywg6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT04MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfov5vlh7rml7bpl7TvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg==NsZWVwKDIpCg==RydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo=2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeaAu+aVsO+8micgKyBzdHIo6L2m5L2N5oC75pWwKSwgeD0wLCB5PTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WJqeS9mei9puS9je+8micgKyBzdHIoKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSksIHg9MCwgeT04MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn56m65L2Z6L2m5L2NJywgKOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovobpm4blkIgpKSkKICAgICAgICAgICAgdGltZS5zbGVlcCgyKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3lt7Lmu6EnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-2 停车时间计算-计算时长.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-2 停车时间计算-计算时长.mix index a312e277..ed49fca5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-2 停车时间计算-计算时长.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-2-2 停车时间计算-计算时长.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp7.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True进入时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffFALSETrue出库车辆:04020255,255,0#ffffffFALSETrue停留时长:012020255,255,0#ffffffFALSETrue进出时间:MINUS11入库车辆字典key车辆卡号016010255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YWl5bqT6L2m6L6G5a2X5YW4PSB7fQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cDcuYWxpeXVuLmNvbScpKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAg6L2m6L6G5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijovabovobljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBpZiDovabkvY3mgLvmlbAgLSBsZW4o5YWl5bqT6L2m6L6G5a2X5YW4KSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIOi9pui+huWNoeWPtyBub3QgaW4g5YWl5bqT6L2m6L6G5a2X5YW4LmtleXMoKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflhaXlupPovabovobvvJonLCB4PTAsIHk9NDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10gPSB0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKQogICAgICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWl5bqT6L2m6L6GJywg6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i/m+WFpeaXtumXtO+8micsIHg9MCwgeT0xMjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WHuuW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YGc55WZ5pe26ZW/77yaJywgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSAtIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddLCB4PTAsIHk9MTYwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIGRlbCDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XQogICAgICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywg6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT04MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L2m5L2N5bey5ruhJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikKUuc2xlZXAoMikKM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp7.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True进入时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffFALSETrue出库车辆:04020255,255,0#ffffffFALSETrue停留时长:012020255,255,0#ffffffFALSETrue进出时间:MINUS11入库车辆字典key车辆卡号016010255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YWl5bqT6L2m6L6G5a2X5YW4PSB7fQpydGN0aW1lLnNldHRpbWUobnRwdGltZS50aW1lKGhvc3Q9J250cDcuYWxpeXVuLmNvbScpKQp0aW0gPSBtYWNoaW5lLlRpbWVyKDAscGVyaW9kID0gNTAwMDAsIG1vZGU9bWFjaGluZS5UaW1lci5QRVJJT0RJQywgY2FsbGJhY2s9dGltX2NhbGxiYWNrKQp3aGlsZSBUcnVlOgogICAg6L2m6L6G5Y2h5Y+3ID0gZXh0X3JmaWQucmVhZF9jYXJkKDAsIHg9ImlkIikKICAgIGlmIHN0cijovabovobljaHlj7cpICE9ICdOb25lJzoKICAgICAgICBpZiDovabkvY3mgLvmlbAgLSBsZW4o5YWl5bqT6L2m6L6G5a2X5YW4KSA+IDA6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPVRydWUpCiAgICAgICAgICAgIGlmIOi9pui+huWNoeWPtyBub3QgaW4g5YWl5bqT6L2m6L6G5a2X5YW4LmtleXMoKToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflhaXlupPovabovobvvJonLCB4PTAsIHk9NDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10gPSB0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKQogICAgICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5YWl5bqT6L2m6L6GJywg6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i/m+WFpeaXtumXtO+8micsIHg9MCwgeT0xMjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MocnRjdGltZS5zdHJ0aW1lKCksIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WHuuW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YGc55WZ5pe26ZW/77yaJywgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSAtIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddLCB4PTAsIHk9MTYwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIGRlbCDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XQogICAgICAgICAgICAgICAgbXF0dF9jbGllbnQucHVibGlzaChNUVRUX1VTUl9QUkogKyAn5Ye65bqT6L2m6L6GJywg6L2m6L6G5Y2h5Y+3KQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjovabovobljaHlj7csIHg9MCwgeT04MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L2m5L2N5bey5ruhJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikKUuc2xlZXAoMikKM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-1 停车收费计算-单一费率.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-1 停车收费计算-单一费率.mix index c0893a40..94bced15 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-1 停车收费计算-单一费率.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-1 停车收费计算-单一费率.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20停车费率1入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp7.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True进入时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffFALSETrue出库车辆:04020255,255,0#ffffffFALSETrue停留收费:012020255,255,0#ffffffFALSETrue进出时间:MULTIPLY1MINUS11入库车辆字典key车辆卡号1停车费率016010255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YGc6L2m6LS5546HID0gMQrlhaXlupPovabovoblrZflhbg9IHt9CnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwNy5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSA1MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDovabovobljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOi9pui+huWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIGlmIOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovoblrZflhbgpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgaWYg6L2m6L6G5Y2h5Y+3IG5vdCBpbiDlhaXlupPovabovoblrZflhbgua2V5cygpOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSA9IHRpbWUubWt0aW1lKHRpbWUubG9jYWx0aW1lKCkpCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L+b5YWl5pe26Ze077yaJywgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTE2MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflgZznlZnmlLbotLnvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSAtIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddKSAqIOWBnOi9pui0ueeOhywgeD0wLCB5PTE2MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBkZWwg5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10KICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIOi9pui+huWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6L2m6L6G5Y2h5Y+3LCB4PTAsIHk9ODAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg==NsZWVwKDIpCg==RydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo= \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20停车费率1入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp7.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True进入时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffFALSETrue出库车辆:04020255,255,0#ffffffFALSETrue停留收费:012020255,255,0#ffffffFALSETrue进出时间:MULTIPLY1MINUS11入库车辆字典key车辆卡号1停车费率016010255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK5YGc6L2m6LS5546HID0gMQrlhaXlupPovabovoblrZflhbg9IHt9CnJ0Y3RpbWUuc2V0dGltZShudHB0aW1lLnRpbWUoaG9zdD0nbnRwNy5hbGl5dW4uY29tJykpCnRpbSA9IG1hY2hpbmUuVGltZXIoMCxwZXJpb2QgPSA1MDAwMCwgbW9kZT1tYWNoaW5lLlRpbWVyLlBFUklPRElDLCBjYWxsYmFjaz10aW1fY2FsbGJhY2spCndoaWxlIFRydWU6CiAgICDovabovobljaHlj7cgPSBleHRfcmZpZC5yZWFkX2NhcmQoMCwgeD0iaWQiKQogICAgaWYgc3RyKOi9pui+huWNoeWPtykgIT0gJ05vbmUnOgogICAgICAgIGlmIOi9puS9jeaAu+aVsCAtIGxlbijlhaXlupPovabovoblrZflhbgpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9VHJ1ZSkKICAgICAgICAgICAgaWYg6L2m6L6G5Y2h5Y+3IG5vdCBpbiDlhaXlupPovabovoblrZflhbgua2V5cygpOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WFpeW6k+i9pui+hu+8micsIHg9MCwgeT00MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSA9IHRpbWUubWt0aW1lKHRpbWUubG9jYWx0aW1lKCkpCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflhaXlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn6L+b5YWl5pe26Ze077yaJywgeD0wLCB5PTEyMCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhydGN0aW1lLnN0cnRpbWUoKSwgeD0wLCB5PTE2MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5Ye65bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflgZznlZnmlLbotLnvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCh0aW1lLm1rdGltZSh0aW1lLmxvY2FsdGltZSgpKSAtIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddKSAqIOWBnOi9pui0ueeOhywgeD0wLCB5PTE2MCwgc2l6ZT0xLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICBkZWwg5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10KICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WHuuW6k+i9pui+hicsIOi9pui+huWNoeWPtykKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo6L2m6L6G5Y2h5Y+3LCB4PTAsIHk9ODAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+i9puS9jeW3sua7oScsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICB0aW1lLnNsZWVwKDIpCg==NsZWVwKDIpCg==RydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-2 停车收费计算-可变费率.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-2 停车收费计算-可变费率.mix index fa2494ce..298c3e9b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-2 停车收费计算-可变费率.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/6-3-2 停车收费计算-可变费率.mix @@ -1 +1 @@ -timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20白天费率2晚上费率1入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp7.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True进入时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffFALSETrue出库车辆:04020255,255,0#ffffffFALSETrue停留收费:012020255,255,0#ffffffFALSE入库小时时刻mytupx18029入库车辆字典key车辆卡号3LTLT6x24True进出时间:MULTIPLY1MINUS11入库车辆字典key车辆卡号1白天费率016010255,255,0#ffffffFALSETrue进出时间:MULTIPLY1MINUS11入库车辆字典key车辆卡号1晚上费率016010255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK55m95aSp6LS5546HID0gMgrmmZrkuIrotLnnjocgPSAxCuWFpeW6k+i9pui+huWtl+WFuD0ge30KcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHA3LmFsaXl1bi5jb20nKSkKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIOi9pui+huWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBzdHIo6L2m6L6G5Y2h5Y+3KSAhPSAnTm9uZSc6CiAgICAgICAgaWYg6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+huWtl+WFuCkgPiAwOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBpZiDovabovobljaHlj7cgbm90IGluIOWFpeW6k+i9pui+huWtl+WFuC5rZXlzKCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YWl5bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddID0gdGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkKICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIOi9pui+huWNoeWPtykKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfov5vlhaXml7bpl7TvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9MTYwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflh7rlupPovabovobvvJonLCB4PTAsIHk9NDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WBnOeVmeaUtui0ue+8micsIHg9MCwgeT0xMjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5YWl5bqT5bCP5pe25pe25Yi7ID0gdHVwbGUodGltZS5sb2NhbHRpbWUo5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10pKVszXQogICAgICAgICAgICAgICAgaWYgNiA8IHggPCAyNDoKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygodGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkgLSDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSkgKiDnmb3lpKnotLnnjocsIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygodGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkgLSDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSkgKiDmmZrkuIrotLnnjocsIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgZGVsIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflh7rlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOi9pui+huWNoeWPtywgeD0wLCB5PTgwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3lt7Lmu6EnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo=2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikK \ No newline at end of file +timMIXIOmixio.mixly.cndemo@mixly.org048e66146b4937557366489cb10fe055demo车位总数20白天费率2晚上费率1入库车辆字典2025,7,14,11,0,13ntp.aliyun.comntp7.aliyun.comPERIODICtim050000tim_callbackWHILETRUE车辆卡号NEQx车辆卡号NoneGTMINUS1车位总数1入库车辆字典0TRUEnot inx车辆卡号0,1,2,3入库车辆字典True入库车辆:04020255,255,0#ffffffFALSE入库车辆字典key车辆卡号0入库车辆正常车辆卡号True进入时间:012020255,255,0#ffffffFALSETrue进出时间:016010255,255,0#ffffffFALSETrue出库车辆:04020255,255,0#ffffffFALSETrue停留收费:012020255,255,0#ffffffFALSE入库小时时刻mytupx18029入库车辆字典key车辆卡号3LTLT6x24True进出时间:MULTIPLY1MINUS11入库车辆字典key车辆卡号1白天费率016010255,255,0#ffffffFALSETrue进出时间:MULTIPLY1MINUS11入库车辆字典key车辆卡号1晚上费率016010255,255,0#ffffffFALSE入库车辆字典key车辆卡号出库车辆正常车辆卡号True入库车辆:车辆卡号08010255,255,0#ffffffTRUETrue车位已满0TRUEs2tim_callback系统状态正常{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdAppbXBvcnQgbWFjaGluZQpmcm9tIHViaW5hc2NpaSBpbXBvcnQgaGV4bGlmeQppbXBvcnQgbnRwdGltZQppbXBvcnQgcnRjdGltZQpmcm9tIHNhbnRfZ3ggaW1wb3J0IGV4dF9yZmlkCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IHRpbWUKCgpkZWYgdGltX2NhbGxiYWNrKHRpbSk6CiAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICfns7vnu5/nirbmgIEnLCAn5q2j5bi4JykKCgoKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKTVFUVF9VU1JfUFJKID0gJ2RlbW9AbWl4bHkub3JnL2RlbW8vJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsICdkZW1vQG1peGx5Lm9yZycsICcwNDhlNjYxNDZiNDkzNzU1NzM2NjQ4OWNiMTBmZTA1NScsIE1RVFRfVVNSX1BSSikK6L2m5L2N5oC75pWwID0gMjAK55m95aSp6LS5546HID0gMgrmmZrkuIrotLnnjocgPSAxCuWFpeW6k+i9pui+huWtl+WFuD0ge30KcnRjdGltZS5zZXR0aW1lKG50cHRpbWUudGltZShob3N0PSdudHA3LmFsaXl1bi5jb20nKSkKdGltID0gbWFjaGluZS5UaW1lcigwLHBlcmlvZCA9IDUwMDAwLCBtb2RlPW1hY2hpbmUuVGltZXIuUEVSSU9ESUMsIGNhbGxiYWNrPXRpbV9jYWxsYmFjaykKd2hpbGUgVHJ1ZToKICAgIOi9pui+huWNoeWPtyA9IGV4dF9yZmlkLnJlYWRfY2FyZCgwLCB4PSJpZCIpCiAgICBpZiBzdHIo6L2m6L6G5Y2h5Y+3KSAhPSAnTm9uZSc6CiAgICAgICAgaWYg6L2m5L2N5oC75pWwIC0gbGVuKOWFpeW6k+i9pui+huWtl+WFuCkgPiAwOgogICAgICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1UcnVlKQogICAgICAgICAgICBpZiDovabovobljaHlj7cgbm90IGluIOWFpeW6k+i9pui+huWtl+WFuC5rZXlzKCk6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygn5YWl5bqT6L2m6L6G77yaJywgeD0wLCB5PTQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddID0gdGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkKICAgICAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+WFpeW6k+i9pui+hicsIOi9pui+huWNoeWPtykKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfov5vlhaXml7bpl7TvvJonLCB4PTAsIHk9MTIwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHJ0Y3RpbWUuc3RydGltZSgpLCB4PTAsIHk9MTYwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCflh7rlupPovabovobvvJonLCB4PTAsIHk9NDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+WBnOeVmeaUtui0ue+8micsIHg9MCwgeT0xMjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAg5YWl5bqT5bCP5pe25pe25Yi7ID0gdHVwbGUodGltZS5sb2NhbHRpbWUo5YWl5bqT6L2m6L6G5a2X5YW4W+i9pui+huWNoeWPt10pKVszXQogICAgICAgICAgICAgICAgaWYgNiA8IHggPCAyNDoKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygodGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkgLSDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSkgKiDnmb3lpKnotLnnjocsIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cygodGltZS5ta3RpbWUodGltZS5sb2NhbHRpbWUoKSkgLSDlhaXlupPovabovoblrZflhbhb6L2m6L6G5Y2h5Y+3XSkgKiDmmZrkuIrotLnnjocsIHg9MCwgeT0xNjAsIHNpemU9MSwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgZGVsIOWFpeW6k+i9pui+huWtl+WFuFvovabovobljaHlj7ddCiAgICAgICAgICAgICAgICBtcXR0X2NsaWVudC5wdWJsaXNoKE1RVFRfVVNSX1BSSiArICflh7rlupPovabovoYnLCDovabovobljaHlj7cpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKOi9pui+huWNoeWPtywgeD0wLCB5PTgwLCBzaXplPTEsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfovabkvY3lt7Lmu6EnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgdGltZS5zbGVlcCgyKQo=2VudGVyPVRydWUsc3luYz1UcnVlKQogICAgICAgIHRpbWUuc2xlZXAoMikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/7 课堂互动.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/7 课堂互动.mix index 2e650a57..a53fc547 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/7 课堂互动.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/5年级/7 课堂互动.mix @@ -1 +1 @@ -clienttopicmsg答题结果==开始答题FALSEMIXIOmixio.mixly.cn04f28f开始答题methodWHILETRUE开始答题A1key答题结果AA2key答题结果BA3key答题结果CA4key答题结果DNEQ答题结果==True开始答题答题结果0TRUE选项A答题结果开始答题FALSE659100True开始答题答题结果0TRUEmethod开始答题答题结果EQmsg1开始答题TRUETrue开始答题0TRUE答题结果=={"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peHB5IGltcG9ydCBhbmFseXNlX3NoYXJla2V5CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+etlOmimAogICAgZ2xvYmFsIOetlOmimOe7k+aenAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vnrZTpopggPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W8gOWni+etlOmimCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICDnrZTpopjnu5PmnpwgPSAnPT0nCgoKCuetlOmimOe7k+aenCA9ICc9PScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwczovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9MDRmMjhmJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etlOmimCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562U6aKYJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrZTpopg6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnQScKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0gJ0InCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdDJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnRCcKICAgICAgICBpZiDnrZTpopjnu5PmnpwgIT0gJz09JzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo562U6aKY57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOetlOmimOe7k+aenCkKICAgICAgICAgICAg5byA5aeL562U6aKYID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file +clienttopicmsg答题结果==开始答题FALSEMIXIOmixio.mixly.cn04f28f开始答题methodWHILETRUE开始答题A1key答题结果AA2key答题结果BA3key答题结果CA4key答题结果DNEQ答题结果==True开始答题答题结果0TRUE选项A答题结果开始答题FALSE659100True开始答题答题结果0TRUEmethod开始答题答题结果EQmsg1开始答题TRUETrue开始答题0TRUE答题结果=={"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGlvdApmcm9tIG1peHB5IGltcG9ydCBhbmFseXNlX3NoYXJla2V5CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgoKZGVmIG1ldGhvZChjbGllbnQsIHRvcGljLCBtc2cpOgogICAgZ2xvYmFsIOW8gOWni+etlOmimAogICAgZ2xvYmFsIOetlOmimOe7k+aenAogICAgaWYgbXNnID09ICcxJzoKICAgICAgICDlvIDlp4vnrZTpopggPSBUcnVlCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ+W8gOWni+etlOmimCcsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKICAgICAgICDnrZTpopjnu5PmnpwgPSAnPT0nCgoKCuetlOmimOe7k+aenCA9ICc9PScK5byA5aeL562U6aKYID0gRmFsc2UKbWl4aW90LndsYW5fY29ubmVjdCgnTUlYSU8nLCAnJykKc2sgPSBhbmFseXNlX3NoYXJla2V5KCdodHRwczovL21peGlvLm1peGx5LmNuL21peGlvLXBocC9zaGFyZWtleS5waHA/c2s9MDRmMjhmJykKTVFUVF9VU1JfUFJKID0gc2tbMF0rJy8nK3NrWzFdKycvJwptcXR0X2NsaWVudCA9IG1peGlvdC5pbml0X01RVFRfY2xpZW50KCdtaXhpby5taXhseS5jbicsIHNrWzBdLCBza1syXSwgTVFUVF9VU1JfUFJKKQptcXR0X2NsaWVudC5zZXRfY2FsbGJhY2soJ+W8gOWni+etlOmimCcsbWV0aG9kLCBNUVRUX1VTUl9QUkopCm1xdHRfY2xpZW50LnN1YnNjcmliZShNUVRUX1VTUl9QUkogKyAn5byA5aeL562U6aKYJykKd2hpbGUgVHJ1ZToKICAgIG1xdHRfY2xpZW50LmNoZWNrX21zZygpCiAgICBpZiDlvIDlp4vnrZTpopg6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnQScKICAgICAgICBlbGlmIG1peGdvX3NhbnQuQTJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg562U6aKY57uT5p6cID0gJ0InCiAgICAgICAgZWxpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOetlOmimOe7k+aenCA9ICdDJwogICAgICAgIGVsaWYgbWl4Z29fc2FudC5BNGtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDnrZTpopjnu5PmnpwgPSAnRCcKICAgICAgICBpZiDnrZTpopjnu5PmnpwgIT0gJz09JzoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Mo562U6aKY57uT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgICAgIG1xdHRfY2xpZW50LnB1Ymxpc2goTVFUVF9VU1JfUFJKICsgJ+mAiemhuScsIOetlOmimOe7k+aenCkKICAgICAgICAgICAg5byA5aeL562U6aKYID0gRmFsc2UKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMTAwKQogICAgZWxzZToKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyjnrZTpopjnu5PmnpwsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9VHJ1ZSkKT5p6cLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-1 你好世界-图像显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-1 你好世界-图像显示.mix index d21dc645..df4a240d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-1 你好世界-图像显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-1 你好世界-图像显示.mix @@ -1 +1 @@ -True你好,世界!0TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfkvaDlpb3vvIzkuJbnlYzvvIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file +True你好,世界!0TRUEWHILETRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAoKCm9uYm9hcmRfdGZ0LnNob3dzKCfkvaDlpb3vvIzkuJbnlYzvvIEnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCndoaWxlIFRydWU6CiAgICBwYXNzCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-2 你好世界-温度播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-2 你好世界-温度播报.mix index 31e31094..9cc0dd1f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-2 你好世界-温度播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/0-1-2 你好世界-温度播报.mix @@ -1 +1 @@ -WHILETRUEB1keys1156136temperature{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fzcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikK \ No newline at end of file +WHILETRUEB1keys1156136temperature{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG1peGdvX3NhbnQKaW1wb3J0IHRpbWUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fzcgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGhzCgoKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-1 安全带提醒-安全提示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-1 安全带提醒-安全提示.mix index f4e305c5..4dd426b2 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-1 安全带提醒-安全提示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-1 安全带提醒-安全提示.mix @@ -1 +1 @@ -系好安全带FALSEWHILETRUE系好安全带B1key系好安全带onboard_music.BA_DING{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgoK57O75aW95a6J5YWo5bimID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIOezu+WlveWuieWFqOW4piA9IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpCiAgICBpZiBub3Qg57O75aW95a6J5YWo5bimOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCg== \ No newline at end of file +系好安全带FALSEWHILETRUE系好安全带B1key系好安全带onboard_music.BA_DING{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX211c2ljCgoK57O75aW95a6J5YWo5bimID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIOezu+WlveWuieWFqOW4piA9IG1peGdvX3NhbnQuQjFrZXkuaXNfcHJlc3NlZCgpCiAgICBpZiBub3Qg57O75aW95a6J5YWo5bimOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGxheShvbmJvYXJkX211c2ljLkJBX0RJTkcpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-2 安全带提醒-坐下提示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-2 安全带提醒-坐下提示.mix index 40905ad2..0a43948f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-2 安全带提醒-坐下提示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-1-2 安全带提醒-坐下提示.mix @@ -1 +1 @@ -系好安全带FALSEWHILETRUEGTr20系好安全带B1keyMixly系好安全带Mixlyr系好安全带onboard_music.BA_DING{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCuezu+WlveWuieWFqOW4piA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAyMDoKICAgICAgICDns7vlpb3lronlhajluKYgPSBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKQogICAgICAgIHByaW50KOezu+WlveWuieWFqOW4pikKICAgICAgICBwcmludChvbmJvYXJkX2Fsc19yLnBzX25sKCkpCiAgICAgICAgaWYgbm90IOezu+WlveWuieWFqOW4pjoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK \ No newline at end of file +系好安全带FALSEWHILETRUEGTr20系好安全带B1keyMixly系好安全带Mixlyr系好安全带onboard_music.BA_DING{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmltcG9ydCBtaXhnb19zYW50CmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCuezu+WlveWuieWFqOW4piA9IEZhbHNlCndoaWxlIFRydWU6CiAgICBpZiBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPiAyMDoKICAgICAgICDns7vlpb3lronlhajluKYgPSBtaXhnb19zYW50LkIxa2V5LmlzX3ByZXNzZWQoKQogICAgICAgIHByaW50KOezu+WlveWuieWFqOW4pikKICAgICAgICBwcmludChvbmJvYXJkX2Fsc19yLnBzX25sKCkpCiAgICAgICAgaWYgbm90IOezu+WlveWuieWFqOW4pjoKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-1 倒车雷达-接近提示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-1 倒车雷达-接近提示.mix index ebd95525..924174db 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-1 倒车雷达-接近提示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-1 倒车雷达-接近提示.mix @@ -1 +1 @@ -WHILETRUEORGTr20GTl20onboard_music.BA_DING{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gMjAgb3Igb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMjA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKgrns7vlpb3lronlhajluKYgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gMjAgb3Igb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMjA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK \ No newline at end of file +WHILETRUEORGTr20GTl20onboard_music.BA_DING{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gMjAgb3Igb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMjA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykKgrns7vlpb3lronlhajluKYgPSBGYWxzZQp3aGlsZSBUcnVlOgogICAgaWYgb25ib2FyZF9hbHNfci5wc19ubCgpID4gMjAgb3Igb25ib2FyZF9hbHNfbC5wc19ubCgpID4gMjA6CiAgICAgICAgb25ib2FyZF9tdXNpYy5wbGF5KG9uYm9hcmRfbXVzaWMuQkFfRElORykK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-2 倒车雷达-距离提示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-2 倒车雷达-距离提示.mix index 3d384039..890ef9c6 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-2 倒车雷达-距离提示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-2-2 倒车雷达-距离提示.mix @@ -1 +1 @@ -距离参考0WHILETRUE距离参考min1r2lGT距离参考106591000ZHENGCHU100001距离参考ms1ZHENGCHU100001距离参考{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgrot53nprvlj4LogIMgPSAwCndoaWxlIFRydWU6CiAgICDot53nprvlj4LogIMgPSBtaW4ob25ib2FyZF9hbHNfci5wc19ubCgpLCBvbmJvYXJkX2Fsc19sLnBzX25sKCkpCiAgICBpZiDot53nprvlj4LogIMgPiAxMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAoMTAwMDAgLy8g6Led56a75Y+C6ICDKSkKICAgICAgICB0aW1lLnNsZWVwX21zKCgxMDAwMCAvLyDot53nprvlj4LogIMpKQo= \ No newline at end of file +距离参考0WHILETRUE距离参考min1r2lGT距离参考106591000ZHENGCHU100001距离参考ms1ZHENGCHU100001距离参考{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9hbHNfbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IHRpbWUKCgrot53nprvlj4LogIMgPSAwCndoaWxlIFRydWU6CiAgICDot53nprvlj4LogIMgPSBtaW4ob25ib2FyZF9hbHNfci5wc19ubCgpLCBvbmJvYXJkX2Fsc19sLnBzX25sKCkpCiAgICBpZiDot53nprvlj4LogIMgPiAxMDoKICAgICAgICBvbmJvYXJkX211c2ljLnBpdGNoX3RpbWUoNjU5LCAoMTAwMDAgLy8g6Led56a75Y+C6ICDKSkKICAgICAgICB0aW1lLnNsZWVwX21zKCgxMDAwMCAvLyDot53nprvlj4LogIMpKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-1 自动转向灯-手动关闭.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-1 自动转向灯-手动关闭.mix index cc4c9598..fcf29831 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-1 自动转向灯-手动关闭.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-1 自动转向灯-手动关闭.mix @@ -1 +1 @@ -转向灯状态0WHILETRUEA1key转向灯状态1B1key转向灯状态2B2key转向灯状态0转向灯状态EQ转向灯状态10101010EQ转向灯状态23101010s0.2000s0.2{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCui9rOWQkeeBr+eKtuaAgSA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAxCiAgICBlbGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAyCiAgICBlbGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAwCiAgICBpZiDovazlkJHnga/nirbmgIE6CiAgICAgICAgaWYg6L2s5ZCR54Gv54q25oCBID09IDE6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDEwLCAxMCwgMTApCiAgICAgICAgZWxpZiDovazlkJHnga/nirbmgIEgPT0gMjoKICAgICAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoMTAsIDEwLCAxMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file +转向灯状态0WHILETRUEA1key转向灯状态1B1key转向灯状态2B2key转向灯状态0转向灯状态EQ转向灯状态10101010EQ转向灯状态23101010s0.2000s0.2{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgdGltZQoKCui9rOWQkeeBr+eKtuaAgSA9IDAKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAxCiAgICBlbGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAyCiAgICBlbGlmIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDovazlkJHnga/nirbmgIEgPSAwCiAgICBpZiDovazlkJHnga/nirbmgIE6CiAgICAgICAgaWYg6L2s5ZCR54Gv54q25oCBID09IDE6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDEwLCAxMCwgMTApCiAgICAgICAgZWxpZiDovazlkJHnga/nirbmgIEgPT0gMjoKICAgICAgICAgICAgb25ib2FyZF9yZ2JbM10gPSAoMTAsIDEwLCAxMCkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-2 自动转向灯-自动关闭.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-2 自动转向灯-自动关闭.mix index 303a2c35..29e2bddd 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-2 自动转向灯-自动关闭.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/1-3-2 自动转向灯-自动关闭.mix @@ -1 +1 @@ -转向灯状态0WHILETRUEA1key转向灯状态1B1key转向灯状态2转向灯状态EQ转向灯状态1GT[0]0.5转向灯状态00101010EQ转向灯状态2LT[0]-0.5转向灯状态03101010s0.2000s0.2{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCgoK6L2s5ZCR54Gv54q25oCBID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOi9rOWQkeeBr+eKtuaAgSA9IDEKICAgIGVsaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOi9rOWQkeeBr+eKtuaAgSA9IDIKICAgIGlmIOi9rOWQkeeBr+eKtuaAgToKICAgICAgICBpZiDovazlkJHnga/nirbmgIEgPT0gMToKICAgICAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjU6CiAgICAgICAgICAgICAgICDovazlkJHnga/nirbmgIEgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDEwLCAxMCwgMTApCiAgICAgICAgZWxpZiDovazlkJHnga/nirbmgIEgPT0gMjoKICAgICAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC41OgogICAgICAgICAgICAgICAg6L2s5ZCR54Gv54q25oCBID0gMAogICAgICAgICAgICBvbmJvYXJkX3JnYlszXSA9ICgxMCwgMTAsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file +转向灯状态0WHILETRUEA1key转向灯状态1B1key转向灯状态2转向灯状态EQ转向灯状态1GT[0]0.5转向灯状态00101010EQ转向灯状态2LT[0]-0.5转向灯状态03101010s0.2000s0.2{}aW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2FjYwpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCB0aW1lCgoK6L2s5ZCR54Gv54q25oCBID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5BMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOi9rOWQkeeBr+eKtuaAgSA9IDEKICAgIGVsaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOi9rOWQkeeBr+eKtuaAgSA9IDIKICAgIGlmIOi9rOWQkeeBr+eKtuaAgToKICAgICAgICBpZiDovazlkJHnga/nirbmgIEgPT0gMToKICAgICAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPiAwLjU6CiAgICAgICAgICAgICAgICDovazlkJHnga/nirbmgIEgPSAwCiAgICAgICAgICAgIG9uYm9hcmRfcmdiWzBdID0gKDEwLCAxMCwgMTApCiAgICAgICAgZWxpZiDovazlkJHnga/nirbmgIEgPT0gMjoKICAgICAgICAgICAgaWYgb25ib2FyZF9hY2MuYWNjZWxlcmF0aW9uKClbMF0gPCAtMC41OgogICAgICAgICAgICAgICAg6L2s5ZCR54Gv54q25oCBID0gMAogICAgICAgICAgICBvbmJvYXJkX3JnYlszXSA9ICgxMCwgMTAsIDEwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDAuMikKICAgICAgICBvbmJvYXJkX3JnYi5maWxsKCgwLCAwLCAwKSkKICAgICAgICBvbmJvYXJkX3JnYi53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgwLjIpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-1 语音识别开关灯-语音控制.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-1 语音识别开关灯-语音控制.mix index 794074de..d6cf0796 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-1 语音识别开关灯-语音控制.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-1 语音识别开关灯-语音控制.mix @@ -1 +1 @@ -1WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +1WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-2 语音识别开关灯-关闭回复语音控制.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-2 语音识别开关灯-关闭回复语音控制.mix index 9fc9f7c5..c1f79004 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-2 语音识别开关灯-关闭回复语音控制.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-1-2 语音识别开关灯-关闭回复语音控制.mix @@ -1 +1 @@ -1207WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDcpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2Fzci5jbWRfaWQoKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDIzKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjQpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file +1207WHILETRUE23112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDcpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2Fzci5jbWRfaWQoKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDIzKToKICAgICAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigxLDEpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjQpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-1 语音亮度调整灯-亮度调整.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-1 语音亮度调整灯-亮度调整.mix index c9f2fbc8..4a1700ea 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-1 语音亮度调整灯-亮度调整.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-1 语音亮度调整灯-亮度调整.mix @@ -1 +1 @@ -1亮度0WHILETRUE25亮度min1ADD1亮度1010026亮度max1MINUS1亮度1001100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkK5Lqu5bqmID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNSk6CiAgICAgICAg5Lqu5bqmID0gbWluKOS6ruW6piArIDEwLCAxMDApCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjYpOgogICAgICAgIOS6ruW6piA9IG1heCjkuq7luqYgLSAxMCwgMCkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwg5Lqu5bqmKQo= \ No newline at end of file +1亮度0WHILETRUE25亮度min1ADD1亮度1010026亮度max1MINUS1亮度1001100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkK5Lqu5bqmID0gMAp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNSk6CiAgICAgICAg5Lqu5bqmID0gbWluKOS6ruW6piArIDEwLCAxMDApCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjYpOgogICAgICAgIOS6ruW6piA9IG1heCjkuq7luqYgLSAxMCwgMCkKICAgIG9uYm9hcmRfbGVkLnNldGJyaWdodG5lc3MoMSwg5Lqu5bqmKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-2 语音亮度调整灯-亮度反馈.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-2 语音亮度调整灯-亮度反馈.mix index a2150e38..51233677 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-2 语音亮度调整灯-亮度反馈.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-2-2 语音亮度调整灯-亮度反馈.mix @@ -1 +1 @@ -1207亮度0WHILETRUE25亮度min1ADD1亮度10100160None亮度26亮度max1MINUS1亮度100160None亮度1100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDcpCuS6ruW6piA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjUpOgogICAgICAgIOS6ruW6piA9IG1pbijkuq7luqYgKyAxMCwgMTAwKQogICAgICAgIG9uYm9hcmRfYXNyLnBsYXkoMTYwLCDkuq7luqYsIE5vbmUpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjYpOgogICAgICAgIOS6ruW6piA9IG1heCjkuq7luqYgLSAxMCwgMCkKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE2MCwg5Lqu5bqmLCBOb25lKQogICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCDkuq7luqYpCg== \ No newline at end of file +1207亮度0WHILETRUE25亮度min1ADD1亮度10100160None亮度26亮度max1MINUS1亮度100160None亮度1100亮度{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDcpCuS6ruW6piA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjUpOgogICAgICAgIOS6ruW6piA9IG1pbijkuq7luqYgKyAxMCwgMTAwKQogICAgICAgIG9uYm9hcmRfYXNyLnBsYXkoMTYwLCDkuq7luqYsIE5vbmUpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjYpOgogICAgICAgIOS6ruW6piA9IG1heCjkuq7luqYgLSAxMCwgMCkKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE2MCwg5Lqu5bqmLCBOb25lKQogICAgb25ib2FyZF9sZWQuc2V0YnJpZ2h0bmVzcygxLCDkuq7luqYpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-1 语音识别-学习唤醒词.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-1 语音识别-学习唤醒词.mix index 0142a93d..5b3a260c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-1 语音识别-学习唤醒词.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-1 语音识别-学习唤醒词.mix @@ -1,4 +1,4 @@ -进入学习:学习唤醒词 +进入学习:学习唤醒词 退出学习:退出学习 我要删除:我要删除 删除命令词:删除唤醒词 diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-2 语音识别-学习命令词.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-2 语音识别-学习命令词.mix index a96a3386..f5e21321 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-2 语音识别-学习命令词.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/2-3-2 语音识别-学习命令词.mix @@ -1,4 +1,4 @@ -进入学习:学习命令词 +进入学习:学习命令词 退出学习:退出学习 我要删除:我要删除 删除命令词:删除命令词 diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-1 自动唤醒-简单自动唤醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-1 自动唤醒-简单自动唤醒.mix index 0723d34e..576dafcc 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-1 自动唤醒-简单自动唤醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-1 自动唤醒-简单自动唤醒.mix @@ -1 +1 @@ -1WHILETRUEstatus1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +1WHILETRUEstatus1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQp3aGlsZSBUcnVlOgogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-2 自动唤醒-改进自动唤醒.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-2 自动唤醒-改进自动唤醒.mix index 12c2789a..6e0ad7a0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-2 自动唤醒-改进自动唤醒.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-1-2 自动唤醒-改进自动唤醒.mix @@ -1 +1 @@ -1207205WHILETRUE21status1status1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNykKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDUpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdKQogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file +1207205WHILETRUE21status1status1123112410{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9sZWQKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNykKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDUpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2xlZC5zZXRvbm9mZigyLG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdKQogICAgaWYgbm90IG9uYm9hcmRfYXNyLnN0YXR1cygpWzBdOgogICAgICAgIG9uYm9hcmRfYXNyLnN5c19jbWQoMSkKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoMjMpOgogICAgICAgIG9uYm9hcmRfbGVkLnNldG9ub2ZmKDEsMSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCgyNCk6CiAgICAgICAgb25ib2FyZF9sZWQuc2V0b25vZmYoMSwwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-1 时间播报-按键语音播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-1 时间播报-按键语音播报.mix index 0bc52d5f..1ebcb63f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-1 时间播报-按键语音播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-1 时间播报-按键语音播报.mix @@ -1 +1 @@ -12042025,5,31,9,53,31WHILETRUEB1keyTRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmltcG9ydCBtaXhnb19zYW50CgoKb25ib2FyZF9ib3QuYXNyX2VuKDEpCm9uYm9hcmRfYXNyLnN5c19jbWQoMjA0KQpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSw5LDUzLDMxKSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5X3RpbWUoZGV0YWlsPVRydWUpCg==/qsW">temperature{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNCkKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMzEsOSw1MywzMSkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKFRydWUpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikK \ No newline at end of file +12042025,5,31,9,53,31WHILETRUEB1keyTRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmltcG9ydCBtaXhnb19zYW50CgoKb25ib2FyZF9ib3QuYXNyX2VuKDEpCm9uYm9hcmRfYXNyLnN5c19jbWQoMjA0KQpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSw5LDUzLDMxKSkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5X3RpbWUoZGV0YWlsPVRydWUpCg==/qsW">temperature{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNCkKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMzEsOSw1MywzMSkpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKFRydWUpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-2 时间播报-语音交互播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-2 时间播报-语音交互播报.mix index f3df05ce..ef5409d0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-2 时间播报-语音交互播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-2-2 时间播报-语音交互播报.mix @@ -1 +1 @@ -12042025,5,31,9,53,31WHILETRUE60TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCgoKb25ib2FyZF9ib3QuYXNyX2VuKDEpCm9uYm9hcmRfYXNyLnN5c19jbWQoMjA0KQpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSw5LDUzLDMxKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoNjApOgogICAgICAgIG9uYm9hcmRfYXNyLnBsYXlfdGltZShkZXRhaWw9VHJ1ZSkKtrols_if" id="rWvs7C3P6Zw,q#cM-gQM">57156136humidity{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNCkKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMzEsOSw1MywzMSkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2Fzci5jbWRfaWQoKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDYwKToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5X3RpbWUoVHJ1ZSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg1Nik6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg1Nyk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLmh1bWlkaXR5KCksIDEzNikK \ No newline at end of file +12042025,5,31,9,53,31WHILETRUE60TRUE{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCgoKb25ib2FyZF9ib3QuYXNyX2VuKDEpCm9uYm9hcmRfYXNyLnN5c19jbWQoMjA0KQpydGN0aW1lLnNldHRpbWUoKDIwMjUsNSwzMSw5LDUzLDMxKSkKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfYXNyLmNtZF9pZCgpCiAgICBpZiBvbmJvYXJkX2Fzci5yZXN1bHQoNjApOgogICAgICAgIG9uYm9hcmRfYXNyLnBsYXlfdGltZShkZXRhaWw9VHJ1ZSkKtrols_if" id="rWvs7C3P6Zw,q#cM-gQM">57156136humidity{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCm9uYm9hcmRfYm90LmFzcl9lbigxKQpvbmJvYXJkX2Fzci5zeXNfY21kKDIwNCkKcnRjdGltZS5zZXR0aW1lKCgyMDI1LDUsMzEsOSw1MywzMSkpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX2Fzci5jbWRfaWQoKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDYwKToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5X3RpbWUoVHJ1ZSkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg1Nik6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLnRlbXBlcmF0dXJlKCksIDEzNikKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg1Nyk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheSgxNTYsIG9uYm9hcmRfdGhzLmh1bWlkaXR5KCksIDEzNikK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-1 环境播报-交互环境播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-1 环境播报-交互环境播报.mix index c375369e..0e7fee13 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-1 环境播报-交互环境播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-1 环境播报-交互环境播报.mix @@ -1 +1 @@ -12042025,5,31,9,53,31WHILETRUE60TRUE56156136temperature57157136humidity{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDQpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDMxLDksNTMsMzEpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg2MCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU2KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU3KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Nywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgMTM2KQo= \ No newline at end of file +12042025,5,31,9,53,31WHILETRUE60TRUE56156136temperature57157136humidity{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDQpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDMxLDksNTMsMzEpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg2MCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU2KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU3KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Nywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgMTM2KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-2 环境播报-环境预警播报.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-2 环境播报-环境预警播报.mix index 2d3362cd..0b75a7e0 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-2 环境播报-环境预警播报.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/3-3-2 环境播报-环境预警播报.mix @@ -1 +1 @@ -12042025,5,31,9,53,31WHILETRUE60TRUE56156136temperature57157136humidityGTtemperature35s1156136temperature{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKaW1wb3J0IHRpbWUKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDQpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDMxLDksNTMsMzEpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg2MCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU2KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU3KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Nywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgMTM2KQogICAgaWYgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSA+IDM1OgogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQo= \ No newline at end of file +12042025,5,31,9,53,31WHILETRUE60TRUE56156136temperature57157136humidityGTtemperature35s1156136temperature{}ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2JvdApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYXNyCmltcG9ydCBydGN0aW1lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90aHMKaW1wb3J0IHRpbWUKCgpvbmJvYXJkX2JvdC5hc3JfZW4oMSkKb25ib2FyZF9hc3Iuc3lzX2NtZCgyMDQpCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSw1LDMxLDksNTMsMzEpKQp3aGlsZSBUcnVlOgogICAgb25ib2FyZF9hc3IuY21kX2lkKCkKICAgIGlmIG9uYm9hcmRfYXNyLnJlc3VsdCg2MCk6CiAgICAgICAgb25ib2FyZF9hc3IucGxheV90aW1lKGRldGFpbD1UcnVlKQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU2KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQogICAgaWYgb25ib2FyZF9hc3IucmVzdWx0KDU3KToKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Nywgb25ib2FyZF90aHMuaHVtaWRpdHkoKSwgMTM2KQogICAgaWYgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSA+IDM1OgogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICBvbmJvYXJkX2Fzci5wbGF5KDE1Niwgb25ib2FyZF90aHMudGVtcGVyYXR1cmUoKSwgMTM2KQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-1 拍照保存-拍照显示.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-1 拍照保存-拍照显示.mix index ea5c7214..3627a897 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-1 拍照保存-拍照显示.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-1 拍照保存-拍照显示.mix @@ -1 +1 @@ -R240X240序号0WHILETRUEimageTRUEB1keymixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1ADDa序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file +R240X240序号0WHILETRUEimageTRUEB1keymixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1ADDa序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCuW6j+WPtyA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz1UcnVlKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOW6j+WPtykgKyAnLmpwZycpKQogICAgICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoKHN0cijluo/lj7cpICsgJy5qcGcnKSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3Moc3RyKOW6j+WPtykgKyAnLmpwZycsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-2 拍照保存-显示列表.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-2 拍照保存-显示列表.mix index 862acf63..a3a25b63 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-2 拍照保存-显示列表.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-1-2 拍照保存-显示列表.mix @@ -1 +1 @@ -R240X240序号-1显示摄像头TRUEWHILETRUEimageTRUE显示摄像头B2key显示摄像头显示摄像头FALSEmylist0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKaW1wb3J0IHRpbWUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQrluo/lj7cgPSAtMQrmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGVsaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBjYW1lcmEuc25hcHNob3QoKHN0cijluo/lj7cpICsgJy5qcGcnKSkKICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KChzdHIo5bqP5Y+3KSArICcuanBnJykscm90YXRpb249MCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==heSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOW6j+WPtyArPSAxCg== \ No newline at end of file +R240X240序号-1显示摄像头TRUEWHILETRUEimageTRUE显示摄像头B2key显示摄像头显示摄像头FALSEmylist0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEANDB1key显示摄像头ADDa序号1mixly.jpgHellox序号.jpg0mixly.jpgHellox序号.jpgFALSETrueMixlyHellox序号.jpg0FALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgb3MKaW1wb3J0IG1hdGgKaW1wb3J0IHRpbWUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQrluo/lj7cgPSAtMQrmmL7npLrmkYTlg4/lpLQgPSBUcnVlCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgICAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgICAgIGlmIG15bGlzdFtpXS5maW5kKCdqcGcnKSA+IDA6CiAgICAgICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhteWxpc3RbaV0sIHg9MCwgeT1pICogNDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgIGVsaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIGFuZCDmmL7npLrmkYTlg4/lpLQ6CiAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBjYW1lcmEuc25hcHNob3QoKHN0cijluo/lj7cpICsgJy5qcGcnKSkKICAgICAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KChzdHIo5bqP5Y+3KSArICcuanBnJykscm90YXRpb249MCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICB0aW1lLnNsZWVwKDEpCg==heSgoc3RyKOW6j+WPtykgKyAnLmpwZycpLHJvdGF0aW9uPTAsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIOW6j+WPtyArPSAxCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-1 文件管理-选择文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-1 文件管理-选择文件.mix index e3b919d2..e8a27b59 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-1 文件管理-选择文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-1 文件管理-选择文件.mix @@ -1 +1 @@ -显示文件列表照片个数照片个数0mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0WHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号MINUS1选择序号1A1key选择序号ADD1选择序号1{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAg54Wn54mH5Liq5pWwICs9IDEKICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo=config>aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file +显示文件列表照片个数照片个数0mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0WHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号MINUS1选择序号1A1key选择序号ADD1选择序号1{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAg54Wn54mH5Liq5pWwICs9IDEKICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo=config>aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyAtIDEKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IOmAieaLqeW6j+WPtyArIDEKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-2 文件管理-限定选择.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-2 文件管理-限定选择.mix index ac619905..b48c460f 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-2 文件管理-限定选择.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-2-2 文件管理-限定选择.mix @@ -1 +1 @@ -显示文件列表照片个数照片个数0mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0WHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10照片个数{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAg54Wn54mH5Liq5pWwICs9IDEKICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo=4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file +显示文件列表照片个数照片个数0mylistFALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUER240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0WHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10照片个数{"BurnSpeed":{"key":"921600","label":"921600"}}aW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4obXlsaXN0KSwgMSk6CiAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MobXlsaXN0W2ldLCB4PTAsIHk9aSAqIDQwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICAgICAg54Wn54mH5Liq5pWwICs9IDEKICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo=4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1hdGgKZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKd2hpbGUgVHJ1ZToKICAgIG9uYm9hcmRfdGZ0LmRpc3BsYXkoY2FtZXJhLmNhcHR1cmUoKSwgc3luYz3mmL7npLrmkYTlg4/lpLQpCiAgICBpZiBtaXhnb19zYW50LkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pi+56S65pGE5YOP5aS0ID0gbm90IOaYvuekuuaRhOWDj+WktAogICAgaWYg5pi+56S65pGE5YOP5aS0OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5ouN54Wn5bqP5Y+3ICs9IDEKICAgICAgICAgICAgY2FtZXJhLnNuYXBzaG90KChzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJykpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKHN0cijmi43nhafluo/lj7cpICsgJy5qcGcnLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgICAgIG9uYm9hcmRfcmdiLnJhaW5ib3dfY3ljbGUoMTAwKQogICAgZWxzZToKICAgICAgICBpZiBtaXhnb19zYW50LkEza2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1heCjpgInmi6nluo/lj7cgLSAxLCAwKQogICAgICAgIGlmIG1peGdvX3NhbnQuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg6YCJ5oup5bqP5Y+3ID0gbWluKOmAieaLqeW6j+WPtyArIDEsIOeFp+eJh+S4quaVsCkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaYvuekuuWbvueJhyA9IG5vdCDmmL7npLrlm77niYcKICAgICAgICDmmL7npLrmlofku7bliJfooagoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-1 拍照管理-显示文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-1 拍照管理-显示文件.mix index 8bcdd79b..3a2ecc60 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-1 拍照管理-显示文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-1 拍照管理-显示文件.mix @@ -1 +1 @@ -R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file +R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-2 拍照管理-删除文件.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-2 拍照管理-删除文件.mix index 5da15223..9998731d 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-2 拍照管理-删除文件.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/4-3-2 拍照管理-删除文件.mix @@ -1 +1 @@ -R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A2keymylistremovefilename.txtmylist0选择序号选择序号0A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICAgICAgb3MucmVtb3ZlKG15bGlzdFvpgInmi6nluo/lj7ddKQogICAgICAgICAgICDpgInmi6nluo/lj7cgPSAwCiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file +R240X240拍照序号-1选择序号0显示摄像头TRUE照片个数0显示图片FALSEmylistWHILETRUEimageFALSE显示摄像头B2key显示摄像头显示摄像头显示摄像头B1keyADDa拍照序号112.jpgHellox拍照序号.jpgTrueMixlyHellox拍照序号.jpg0FALSE100A2keymylistremovefilename.txtmylist0选择序号选择序号0A3key选择序号max1MINUS1选择序号10A1key选择序号min1ADD1选择序号10MINUS1照片个数1B1key显示图片显示图片显示文件列表照片个数mylist照片个数0mylistFALSE显示图片0mixly.jpgmylist0选择序号FALSE0,1,2,305LENmylist1iGTHello,mixlymylist0ijpg0TrueMixlymylist0i00MULTIPLY1i4020255,255,0#ffffffFALSEADDa照片个数1rect020MULTIPLY1选择序号4024040255,255,0#ff0000TRUE{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IG9zCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF90ZnQKaW1wb3J0IG1peGdvX3NhbnQKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3JnYgppbXBvcnQgbWF0aAoKCmRlZiDmmL7npLrmlofku7bliJfooagoKToKICAgIGdsb2JhbCDnhafniYfkuKrmlbAKICAgIGdsb2JhbCBteWxpc3QKICAgIOeFp+eJh+S4quaVsCA9IDAKICAgIG15bGlzdCA9IG9zLmxpc3RkaXIoKQogICAgb25ib2FyZF90ZnQuZmlsbCgwLHN5bmM9RmFsc2UpCiAgICBpZiDmmL7npLrlm77niYc6CiAgICAgICAgb25ib2FyZF90ZnQuZGlzcGxheShteWxpc3Rb6YCJ5oup5bqP5Y+3XSxyb3RhdGlvbj0wLHN5bmM9RmFsc2UpCiAgICBlbHNlOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIGxlbihteWxpc3QpLCAxKToKICAgICAgICAgICAgaWYgbXlsaXN0W2ldLmZpbmQoJ2pwZycpID4gMDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKG15bGlzdFtpXSwgeD0wLCB5PWkgKiA0MCwgc2l6ZT0yLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSwgY29sb3I9MHhmZmZmLHN5bmM9RmFsc2UpCiAgICAgICAgICAgICAgICDnhafniYfkuKrmlbAgKz0gMQogICAgICAgIG9uYm9hcmRfdGZ0LnJlY3QoMCwgKOmAieaLqeW6j+WPtyAqIDQwKSwgMjQwLCA0MCwgMHhmODAwLHN5bmM9VHJ1ZSkKICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKCgoKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkK5ouN54Wn5bqP5Y+3ID0gLTEK6YCJ5oup5bqP5Y+3ID0gMArmmL7npLrmkYTlg4/lpLQgPSBUcnVlCueFp+eJh+S4quaVsCA9IDAK5pi+56S65Zu+54mHID0gRmFsc2UKbXlsaXN0ID0gb3MubGlzdGRpcigpCndoaWxlIFRydWU6CiAgICBvbmJvYXJkX3RmdC5kaXNwbGF5KGNhbWVyYS5jYXB0dXJlKCksIHN5bmM95pi+56S65pGE5YOP5aS0KQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOaYvuekuuaRhOWDj+WktCA9IG5vdCDmmL7npLrmkYTlg4/lpLQKICAgIGlmIOaYvuekuuaRhOWDj+WktDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOaLjeeFp+W6j+WPtyArPSAxCiAgICAgICAgICAgIGNhbWVyYS5zbmFwc2hvdCgoc3RyKOaLjeeFp+W6j+WPtykgKyAnLmpwZycpKQogICAgICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyhzdHIo5ouN54Wn5bqP5Y+3KSArICcuanBnJywgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICBvbmJvYXJkX3JnYi5yYWluYm93X2N5Y2xlKDEwMCkKICAgIGVsc2U6CiAgICAgICAgaWYgbWl4Z29fc2FudC5BMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICBteWxpc3QgPSBvcy5saXN0ZGlyKCkKICAgICAgICAgICAgb3MucmVtb3ZlKG15bGlzdFvpgInmi6nluo/lj7ddKQogICAgICAgICAgICDpgInmi6nluo/lj7cgPSAwCiAgICAgICAgaWYgbWl4Z29fc2FudC5BM2tleS53YXNfcHJlc3NlZCgpOgogICAgICAgICAgICDpgInmi6nluo/lj7cgPSBtYXgo6YCJ5oup5bqP5Y+3IC0gMSwgMCkKICAgICAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIOmAieaLqeW6j+WPtyA9IG1pbijpgInmi6nluo/lj7cgKyAxLCDnhafniYfkuKrmlbAgLSAxKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAg5pi+56S65Zu+54mHID0gbm90IOaYvuekuuWbvueJhwogICAgICAgIOaYvuekuuaWh+S7tuWIl+ihqCgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-1 二维码识别-二维码识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-1 二维码识别-二维码识别.mix index 430a812d..d1657127 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-1 二维码识别-二维码识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-1 二维码识别-二维码识别.mix @@ -1 +1 @@ -R240X240QRReaderModelWHILETRUEsModelTRUEs659100Mixlys{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5RUlJlYWRlcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgcyA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJkYXRhIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiBzOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludChzKQo= \ No newline at end of file +R240X240QRReaderModelWHILETRUEsModelTRUEs659100Mixlys{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKaW1wb3J0IG1hY2hpbmUKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5RUlJlYWRlcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgcyA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJkYXRhIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiBzOgogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBwcmludChzKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-2 二维码识别-二维码识别改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-2 二维码识别-二维码识别改进.mix index 73aad8db..5095b3d9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-2 二维码识别-二维码识别改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-1-2 二维码识别-二维码识别改进.mix @@ -1 +1 @@ -R240X240QRReaderModelWHILETRUEsModelFALSEsFALSE659100Mixlys002255,255,0#ffffffFALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLlFSUmVhZGVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICBzID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImRhdGEiLCBjb2xvcj0weEY4MDAsIHN5bmM9RmFsc2UpCiAgICBpZiBzOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhzLCB4PTAsIHk9MCwgc2l6ZT0yLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file +R240X240QRReaderModelWHILETRUEsModelFALSEsFALSE659100Mixlys002255,255,0#ffffffFALSEs1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwppbXBvcnQgdGltZQoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLlFSUmVhZGVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCndoaWxlIFRydWU6CiAgICBzID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImRhdGEiLCBjb2xvcj0weEY4MDAsIHN5bmM9RmFsc2UpCiAgICBpZiBzOgogICAgICAgIG9uYm9hcmRfdGZ0LmZpbGwoMCxzeW5jPUZhbHNlKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC50ZXh0cyhzLCB4PTAsIHk9MCwgc2l6ZT0yLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCiAgICAgICAgdGltZS5zbGVlcCgxKQogICAgb25ib2FyZF90ZnQud3JpdGUoKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-1 颜色识别-颜色识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-1 颜色识别-颜色识别.mix index 7ecedb8f..3c460109 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-1 颜色识别-颜色识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-1 颜色识别-颜色识别.mix @@ -1 +1 @@ -R240X240ColorDetectorModelredModelWHILETRUExModelTRUExMixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5Db2xvckRldGVjdG9yKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgxNzAsIDEwMCwgMTAwKSwgKDEwLCAyNTUsIDI1NSksInJlZCIpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file +R240X240ColorDetectorModelredModelWHILETRUExModelTRUExMixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWFjaGluZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKCgpjYW1lcmEgPSBDYW1lcmEoRnJhbWVTaXplLlIyNDBYMjQwLCBobWlycm9yPUZhbHNlLHZmbGlwPUZhbHNlKQpNb2RlbCA9IGVzcF9kbC5Db2xvckRldGVjdG9yKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkpCk1vZGVsLnJlZ2lzdGVyX2NvbG9yKCgxNzAsIDEwMCwgMTAwKSwgKDEwLCAyNTUsIDI1NSksInJlZCIpCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgImxlbiIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-自定义颜色识别.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-自定义颜色识别.mix index 5636d286..ba126aeb 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-自定义颜色识别.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-自定义颜色识别.mix @@ -1 +1 @@ -R240X240ColorDetectorModelredModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNvbG9yRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDE3MCwgMTAwLCAxMDApLCAoMTAsIDI1NSwgMjU1KSwicmVkIikKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file +R240X240ColorDetectorModelredModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly红色块个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkNvbG9yRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKTW9kZWwucmVnaXN0ZXJfY29sb3IoKDE3MCwgMTAwLCAxMDApLCAoMTAsIDI1NSwgMjU1KSwicmVkIikKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+e6ouiJsuWdl+S4quaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-颜色识别改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-颜色识别改进.mix index 97934f58..180a8f6b 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-颜色识别改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-2-2 颜色识别-颜色识别改进.mix @@ -1 +1 @@ -LCDCOLOR_DETECTIONaiWHILETRUEx9aixMixly自定义块个数极坐标:Mixlyxx0,1,2,30x1iMixly9ai1is1s0.2{}aW1wb3J0IGNhbWVyYQppbXBvcnQgYWlfY2FtZXJhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgpjYW0gPSBjYW1lcmEuR0MwMzJBKGNhbWVyYS5MQ0QpCmFpID0gYWlfY2FtZXJhLkFJKGFpX2NhbWVyYS5DT0xPUl9ERVRFQ1RJT04pCndoaWxlIFRydWU6CiAgICB4ID0gYWkuY29sb3JfZGV0ZWN0aW9uKDksJ2xlbicpCiAgICBpZiB4OgogICAgICAgIHByaW50KCgn6Ieq5a6a5LmJ5Z2X5Liq5pWw5p6B5Z2Q5qCH77yaJyArIHN0cih4KSkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgeCwgMSk6CiAgICAgICAgICAgIHByaW50KGFpLmNvbG9yX2RldGVjdGlvbig5LCdwb3MnLGkpKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file +LCDCOLOR_DETECTIONaiWHILETRUEx9aixMixly自定义块个数极坐标:Mixlyxx0,1,2,30x1iMixly9ai1is1s0.2{}aW1wb3J0IGNhbWVyYQppbXBvcnQgYWlfY2FtZXJhCmltcG9ydCBtYWNoaW5lCmltcG9ydCB0aW1lCgpjYW0gPSBjYW1lcmEuR0MwMzJBKGNhbWVyYS5MQ0QpCmFpID0gYWlfY2FtZXJhLkFJKGFpX2NhbWVyYS5DT0xPUl9ERVRFQ1RJT04pCndoaWxlIFRydWU6CiAgICB4ID0gYWkuY29sb3JfZGV0ZWN0aW9uKDksJ2xlbicpCiAgICBpZiB4OgogICAgICAgIHByaW50KCgn6Ieq5a6a5LmJ5Z2X5Liq5pWw5p6B5Z2Q5qCH77yaJyArIHN0cih4KSkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgeCwgMSk6CiAgICAgICAgICAgIHByaW50KGFpLmNvbG9yX2RldGVjdGlvbig5LCdwb3MnLGkpKQogICAgICAgIHRpbWUuc2xlZXAoMSkKICAgIHRpbWUuc2xlZXAoMC4yKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-1 人检测-人脸检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-1 人检测-人脸检测.mix index ff55c77f..b308bbc5 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-1 人检测-人脸检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-1 人检测-人脸检测.mix @@ -1 +1 @@ -R240X240FaceDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VEZXRlY3Rvcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbWluKHgsIDQpLCAxKToKICAgICAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMjAsIDAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHByaW50KCgn5Lq66IS45Liq5pWw77yaJyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file +R240X240FaceDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人脸个数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VEZXRlY3Rvcih3aWR0aD1jYW1lcmEuZ2V0X3BpeGVsX3dpZHRoKCksIGhlaWdodD1jYW1lcmEuZ2V0X3BpeGVsX2hlaWdodCgpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJsZW4iLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF9yZ2IuZmlsbCgoMCwgMCwgMCkpCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbWluKHgsIDQpLCAxKToKICAgICAgICAgICAgb25ib2FyZF9yZ2JbaV0gPSAoMjAsIDAsIDApCiAgICAgICAgb25ib2FyZF9yZ2Iud3JpdGUoKQogICAgICAgIHByaW50KCgn5Lq66IS45Liq5pWw77yaJyArIHN0cih4KSkpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-2 人检测-人体检测.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-2 人检测-人体检测.mix index c39968e2..ad25f9c3 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-2 人检测-人体检测.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/5-3-2 人检测-人体检测.mix @@ -1 +1 @@ -R240X240HumanDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkh1bWFuRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+S6uuaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file +R240X240HumanDetectorModelWHILETRUExModelTRUEx0000,1,2,305min1x41i0i2000Mixly人数:Mixlyxx659200{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfcmdiCmltcG9ydCBtYWNoaW5lCmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkh1bWFuRGV0ZWN0b3Iod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAibGVuIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIG9uYm9hcmRfcmdiLmZpbGwoKDAsIDAsIDApKQogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIG1pbih4LCA0KSwgMSk6CiAgICAgICAgICAgIG9uYm9hcmRfcmdiW2ldID0gKDIwLCAwLCAwKQogICAgICAgIG9uYm9hcmRfcmdiLndyaXRlKCkKICAgICAgICBwcmludCgoJ+S6uuaVsO+8micgKyBzdHIoeCkpKQogICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-1 人脸识别-录入人脸.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-1 人脸识别-录入人脸.mix index 476f50d8..b27f51a8 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-1 人脸识别-录入人脸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-1 人脸识别-录入人脸.mix @@ -1 +1 @@ -R240X240FaceRecognizerModel序号0WHILETRUExModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file +R240X240FaceRecognizerModel序号0WHILETRUExModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-2 人脸识别-删除人脸.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-2 人脸识别-删除人脸.mix index b6add283..ad3f18d7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-2 人脸识别-删除人脸.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-1-2 人脸识别-删除人脸.mix @@ -1 +1 @@ -R240X240FaceRecognizerModel序号0WHILETRUEB2keyModelTrue删除人脸成功0TRUE165200xModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIE1vZGVsLmNsZWFyX2ZhY2UoKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliKDpmaTkurrohLjmiJDlip8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMjAwKQogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo=CAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file +R240X240FaceRecognizerModel序号0WHILETRUEB2keyModelTrue删除人脸成功0TRUE165200xModelTRUExB1keyIDModelnamex序号TrueMixlyID: {} Name:{}ID序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCmNhbWVyYSA9IENhbWVyYShGcmFtZVNpemUuUjI0MFgyNDAsIGhtaXJyb3I9RmFsc2UsdmZsaXA9RmFsc2UpCk1vZGVsID0gZXNwX2RsLkZhY2VSZWNvZ25pemVyKHdpZHRoPWNhbWVyYS5nZXRfcGl4ZWxfd2lkdGgoKSwgaGVpZ2h0PWNhbWVyYS5nZXRfcGl4ZWxfaGVpZ2h0KCkgLCBkYl9wYXRoPSJmYWNlLmRiIikK5bqP5Y+3ID0gMAp3aGlsZSBUcnVlOgogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIE1vZGVsLmNsZWFyX2ZhY2UoKQogICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfliKDpmaTkurrohLjmiJDlip8nLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDE2NSwgMjAwKQogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9c3RyKOW6j+WPtyksIHZhbGlkYXRlID0gMSkKICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIOW6j+WPtyksIHNwYWNlPTAsIGNlbnRlcj1UcnVlLHN5bmM9RmFsc2UpCiAgICAgICAgICAgIG9uYm9hcmRfdGZ0LndyaXRlKCkKICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICDluo/lj7cgKz0gMQo=CAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQo= \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-1 人脸识别-录入人脸姓名.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-1 人脸识别-录入人脸姓名.mix index 5d57b793..25057f75 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-1 人脸识别-录入人脸姓名.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-1 人脸识别-录入人脸姓名.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0WHILETRUExModelTRUExB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgInBlcnNvbiIsICJuYW1lIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEK \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0WHILETRUExModelTRUExB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgbWl4Z29fc2FudApmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCndoaWxlIFRydWU6CiAgICB4ID0gZXNwX2RsLnNpbXBsZV9ydW4oTW9kZWwsIGNhbWVyYSwgInBlcnNvbiIsICJuYW1lIiwgY29sb3I9MHhGODAwLCBzeW5jPVRydWUpCiAgICBpZiB4OgogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEK \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-2 人脸识别-识别人脸姓名.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-2 人脸识别-识别人脸姓名.mix index 5ca2a6f7..cc73dfd9 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-2 人脸识别-识别人脸姓名.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-2-2 人脸识别-识别人脸姓名.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExTrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoeCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKQogICAgICAgICAgICBpZiBJRDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdJRDoge30gTmFtZTp7fScuZm9ybWF0KElELCBteXR1cFvluo/lj7ddKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQo= id=".sN6_W^TGJ|z{AH`3JSH">mytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExTrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmltcG9ydCBtaXhnb19zYW50CmZyb20gbWl4Z29fc2FudCBpbXBvcnQgb25ib2FyZF9tdXNpYwoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoeCwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICBpZiBtaXhnb19zYW50LkIxa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgICAgIElEID0gTW9kZWwuZW5yb2xsKGNhbWVyYS5jYXB0dXJlKCkuaW1hZ2UsIG5hbWU9bXl0dXBb5bqP5Y+3XSwgdmFsaWRhdGUgPSAxKQogICAgICAgICAgICBpZiBJRDoKICAgICAgICAgICAgICAgIG9uYm9hcmRfdGZ0LnNob3dzKCdJRDoge30gTmFtZTp7fScuZm9ybWF0KElELCBteXR1cFvluo/lj7ddKSwgc3BhY2U9MCwgY2VudGVyPVRydWUsc3luYz1GYWxzZSkKICAgICAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDIwMCkKICAgICAgICAgICAgICAgIOW6j+WPtyArPSAxCiAgICAgICAgb25ib2FyZF90ZnQud3JpdGUoKQo= id=".sN6_W^TGJ|z{AH`3JSH">mytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-1 人脸识别-人脸签到.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-1 人脸识别-人脸签到.mix index e8629f55..20302d5c 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-1 人脸识别-人脸签到.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-1 人脸识别-人脸签到.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID02025,11,1,11,52,9WHILETRUExModelTRUExNEQxnulla+签到.txtfMixlyHello xf\r\nff659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSwxMSwxLDExLDUyLDkpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiB4ICE9ICdudWxsJzoKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID02025,11,1,11,52,9WHILETRUExModelTRUExNEQxnulla+签到.txtfMixlyHello xf\r\nff659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCnJ0Y3RpbWUuc2V0dGltZSgoMjAyNSwxMSwxLDExLDUyLDkpKQp3aGlsZSBUcnVlOgogICAgeCA9IGVzcF9kbC5zaW1wbGVfcnVuKE1vZGVsLCBjYW1lcmEsICJwZXJzb24iLCAibmFtZSIsIGNvbG9yPTB4RjgwMCwgc3luYz1UcnVlKQogICAgaWYgeDoKICAgICAgICBpZiB4ICE9ICdudWxsJzoKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-2 人脸识别-人脸签到改进.mix b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-2 人脸识别-人脸签到改进.mix index 671ea0cb..0e8cd5d7 100644 --- a/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-2 人脸识别-人脸签到改进.mix +++ b/boards/default/micropython_esp32s3/examples/MixGo Sant/智能物联从体验到精通/6年级/6-3-2 人脸识别-人脸签到改进.mix @@ -1 +1 @@ -mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExANDNEQxnullNEQxoldnamea+签到.txtfMixlyHello xf\r\nffoldnamex659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file +mytup张三李四王五赵六序号0R240X240FaceRecognizerModelModelID0oldname2025,11,1,11,52,9WHILETRUExModelTRUExANDNEQxnullNEQxoldnamea+签到.txtfMixlyHello xf\r\nffoldnamex659100TrueMixlyx0FALSEB1keyIDModelnamemytup0序号IDTrueMixlyID: {} Name:{}IDmytup0序号0FALSE659200ADD序号1{"BurnSpeed":{"key":"921600","label":"921600"}}ZnJvbSBjYW1lcmEgaW1wb3J0IENhbWVyYSxGcmFtZVNpemUKaW1wb3J0IGVzcF9kbAppbXBvcnQgcnRjdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfbXVzaWMKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKCm15dHVwPSAoJ+W8oOS4iScsICfmnY7lm5snLCAn546L5LqUJywgJ+i1teWFrScpCuW6j+WPtyA9IDAKY2FtZXJhID0gQ2FtZXJhKEZyYW1lU2l6ZS5SMjQwWDI0MCwgaG1pcnJvcj1GYWxzZSx2ZmxpcD1GYWxzZSkKTW9kZWwgPSBlc3BfZGwuRmFjZVJlY29nbml6ZXIod2lkdGg9Y2FtZXJhLmdldF9waXhlbF93aWR0aCgpLCBoZWlnaHQ9Y2FtZXJhLmdldF9waXhlbF9oZWlnaHQoKSAsIGRiX3BhdGg9ImZhY2UuZGIiKQpNb2RlbC5jbGVhcl9mYWNlKCkKSUQgPSAwCm9sZG5hbWUgPSAnJwpydGN0aW1lLnNldHRpbWUoKDIwMjUsMTEsMSwxMSw1Miw5KSkKd2hpbGUgVHJ1ZToKICAgIHggPSBlc3BfZGwuc2ltcGxlX3J1bihNb2RlbCwgY2FtZXJhLCAicGVyc29uIiwgIm5hbWUiLCBjb2xvcj0weEY4MDAsIHN5bmM9VHJ1ZSkKICAgIGlmIHg6CiAgICAgICAgaWYgeCAhPSAnbnVsbCcgYW5kIHggIT0gb2xkbmFtZToKICAgICAgICAgICAgZiA9IG9wZW4oJ+etvuWIsC50eHQnLCAnYSsnKQogICAgICAgICAgICBmLndyaXRlKChydGN0aW1lLnN0cnRpbWUoKSArIHgpKQogICAgICAgICAgICBmLndyaXRlKCdcclxuJykKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgIG9sZG5hbWUgPSB4CiAgICAgICAgICAgIG9uYm9hcmRfbXVzaWMucGl0Y2hfdGltZSg2NTksIDEwMCkKICAgICAgICBvbmJvYXJkX3RmdC5zaG93cyh4LCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICAgICAgSUQgPSBNb2RlbC5lbnJvbGwoY2FtZXJhLmNhcHR1cmUoKS5pbWFnZSwgbmFtZT1teXR1cFvluo/lj7ddLCB2YWxpZGF0ZSA9IDEpCiAgICAgICAgICAgIGlmIElEOgogICAgICAgICAgICAgICAgb25ib2FyZF90ZnQuc2hvd3MoJ0lEOiB7fSBOYW1lOnt9Jy5mb3JtYXQoSUQsIG15dHVwW+W6j+WPt10pLCBzcGFjZT0wLCBjZW50ZXI9VHJ1ZSxzeW5jPUZhbHNlKQogICAgICAgICAgICAgICAgb25ib2FyZF9tdXNpYy5waXRjaF90aW1lKDY1OSwgMjAwKQogICAgICAgICAgICAgICAg5bqP5Y+3ICs9IDEKICAgICAgICBvbmJvYXJkX3RmdC53cml0ZSgpCg== \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/index.xml b/boards/default/micropython_esp32s3/index.xml index 3da882ff..07e15150 100644 --- a/boards/default/micropython_esp32s3/index.xml +++ b/boards/default/micropython_esp32s3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,01001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav44044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clock12012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0你们,米思齐3mixly.jpgimageModelModelModelnameModelModelModelModelModelModelModelModelimageimage90imageimagemixly.jpg90imagemixly.jpg240240imagehttps://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg240240mixly.jpgmixly.jpg00imageimage00240240imageimage00ModelModelface.dbModelModel256Model0,0,0255,255,255color256ModelimagenameModel1ModelModel_resultsModelimage_results_results_results0_results0_results0_results0_results0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly5000500wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,01001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav44044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clock12012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0你们,米思齐3mixly.jpgimageModelModelModelnameModelModelModelModelModelModelModelModelimageimage90imageimagemixly.jpg90imagemixly.jpg240240imagehttps://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg240240mixly.jpgmixly.jpg00imageimage00240240imageimage00ModelModelface.dbModelModel256Model0,0,0255,255,255color256ModelimagenameModel1ModelModel_resultsModelimage_results_results_results0_results0_results0_results0_results0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly5000500wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js b/boards/default/micropython_esp32s3/main.bundle.a24e14f3.js similarity index 83% rename from boards/default/micropython_esp32s3/main.bundle.3a511bf2.js rename to boards/default/micropython_esp32s3/main.bundle.a24e14f3.js index 63dbcf6f..4691c139 100644 --- a/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js +++ b/boards/default/micropython_esp32s3/main.bundle.a24e14f3.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Yt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},vt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,xt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},bt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const kt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ya=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ba=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ha=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Hu="#74A55B",ku={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Hr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Zm={init:function(){this.jsonInit({colour:wm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},eE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},tE={init:function(){this.setColour(wm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(tE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},iE={init:function(){this.setColour(wm),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},nE={init:function(){this.setColour(wm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(nE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},sE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},_E={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},pE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},aE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},uE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},TE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ME={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(ME.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},hE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(hE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},mE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},OE={init:function(){this.setColour(wm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},RE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},gE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},SE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},LE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},NE={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(NE.IMAGES),"path"),this.setColour(wm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},DE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(fE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},FE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},PE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},vE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown(vE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},XE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},yE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(yE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},xE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},BE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.jsonInit({colour:wm,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},wE={init:function(){this.jsonInit({colour:wm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},HE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},WE={init:function(){this.setColour(wm),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(wm),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},$E={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},ZE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},eO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(wm),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},iO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){Wm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){zm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){nE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO={init:function(){pE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uO={init:function(){aE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},rO=180,lO={init:function(){this.setColour(rO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(lO.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},dO={init:function(){this.setColour(rO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(dO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},IO={init:function(){this.setColour(rO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(IO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},TO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(MO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},hO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(hO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},mO="#777777",EO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},uR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},dR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},IR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},TR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ER={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},OR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},RR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},cR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},CR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AR={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(eR),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},LR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},PR=tR,YR=iR,vR=nR,XR=sR,yR=oR,xR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bR=xR,VR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},UR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},QR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR=225,qR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},jR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},$R={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},ZR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ec={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},nc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},sc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},_c={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},oc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},pc={init:function(){this.setColour(zR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},ac={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},uc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},rc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},lc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},dc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},Ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},Tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},hc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Ec={init:function(){this.setColour(zR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Oc={init:function(){this.appendValueInput("VAL"),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Oc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Rc={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(Rc.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},cc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Cc="#3288dd",Sc={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ac={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Lc={init:function(){this.appendValueInput("VAL"),this.setColour(Cc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Lc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Nc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Dc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(Cc),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Fc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},vc=100,Xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_SPK_STATE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ON,"True"],[ge.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vc=100,Bc={init:function(){this.setColour(Vc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Gc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc="#A58C5B",Qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},zc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},jc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},$c={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Zc={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},eg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},tg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(tg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ig={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ng={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},sg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},_g={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},og={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},pg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},ag={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},ug={init:function(){this.setColour(Jc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},lg={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ag={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ng={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ug={init:function(){this.setColour(Jc),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Jg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},zg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Rv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Av=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},Pv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Yv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},vv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Xv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},yv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},bv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},Vv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Gv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Uv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},wv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},zv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Zv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},eX=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},sX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},_X=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},oX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},MX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},hX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},RX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},cX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},gX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},CX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},SX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},AX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},LX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},NX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},DX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},fX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},FX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},PX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},YX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},my=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},Ey=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Oy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ry=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},gy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Sy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Ay=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ly=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ny=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Dy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Py=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},vy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Xy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},xy=gX,by=UX,Vy=VX,By=UX,Gy=wX,Uy=XX,wy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Hy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},ky=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},Iw=function(){return"control.reset()\n"},Tw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Mw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},hw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},Ew=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},Ow=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Rw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},cw=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},gw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},Cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Sw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Aw=function(){return"while True:\n pass\n"},Lw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Nw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Dw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},fw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Fw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Pw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Yw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},vw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Xw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},yw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},bw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Vw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},Bw=vw,Gw=Xw,Uw=Yw,ww=Dw,Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Zw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},nH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},sH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:_H}=Ce,oH=_H.render(sH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:pH}=Ce,aH=pH.render(sH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:uH}=Ce,rH=uH.render(sH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),lH=new ge.Generator("Python");lH.INDENT=" ",lH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),lH.ORDER_ATOMIC=0,lH.ORDER_COLLECTION=1,lH.ORDER_STRING_CONVERSION=1,lH.ORDER_UNARY_POSTFIX=1,lH.ORDER_UNARY_PREFIX=2,lH.ORDER_MEMBER=2.1,lH.ORDER_FUNCTION_CALL=2.2,lH.ORDER_EXPONENTIATION=3,lH.ORDER_UNARY_SIGN=4,lH.ORDER_BITWISE_NOT=4,lH.ORDER_MULTIPLICATIVE=5,lH.ORDER_ADDITIVE=6,lH.ORDER_BITWISE_SHIFT=7,lH.ORDER_BITWISE_AND=8,lH.ORDER_BITWISE_XOR=9,lH.ORDER_BITWISE_OR=10,lH.ORDER_RELATIONAL=11,lH.ORDER_EQUALITY=11,lH.ORDER_LOGICAL_NOT=12,lH.ORDER_LOGICAL_AND=13,lH.ORDER_LOGICAL_OR=14,lH.ORDER_ASSIGNMENT=14,lH.ORDER_CONDITIONAL=15,lH.ORDER_LAMBDA=16,lH.ORDER_NONE=99,lH.ORDER_OVERRIDES=[[lH.ORDER_FUNCTION_CALL,lH.ORDER_MEMBER],[lH.ORDER_FUNCTION_CALL,lH.ORDER_FUNCTION_CALL],[lH.ORDER_MEMBER,lH.ORDER_MEMBER],[lH.ORDER_MEMBER,lH.ORDER_FUNCTION_CALL]],lH.init=function(){lH.PASS=this.INDENT+"pass\n",lH.definitions_=Object.create(null),lH.functionNames_=Object.create(null),lH.setups_=Object.create(null),lH.loops_=Object.create(null),lH.codeEnd_=Object.create(null),lH.variableDB_?lH.variableDB_.reset():lH.variableDB_=new Ne(lH.RESERVED_WORDS_)},lH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in lH.functions_)o.push(lH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in lH.setups_)p.push(lH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in lH.loops_)a.push(lH.loops_[s]);var u=[];for(var s in lH.codeEnd_)u.push(lH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},lH.scrubNakedValue=function(e){return e+"\n"},lH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},lH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},lH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,lH.COMMENT_WRAP-3),n+=lH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const dH={};dH["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["元控自强"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-20"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const IH=dH,TH=20,MH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},hH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},EH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},OH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},RH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},cH={init:function(){this.setColour(TH),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},gH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},CH={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},AH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},LH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},NH=CH,DH=AH,fH=cH,FH=gH,PH=230,YH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},vH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},xH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},VH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},UH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},wH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},JH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},jH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},ZH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},sk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},uk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ck={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ak={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Nk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},fk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Fk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Pk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Yk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},vk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Xk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},yk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},bk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Vk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Bk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Gk=Bk,Uk=Bk,wk=Bk,Hk=Bk,kk=Bk,Wk=Bk,Kk=Bk,Jk=Bk,Qk=Bk,zk=Bk,qk=Bk,jk=Bk,$k=Bk,Zk=Bk,eW=Bk,tW=Bk,iW=Bk,nW=Bk,sW=Bk,_W=Bk,oW=Bk,pW=Bk,aW=Bk,uW=Bk,rW=Bk,lW=Bk,dW=Bk,IW=Bk,TW=Bk,MW=Bk,hW=Bk,mW=Bk,EW=Bk,OW=Bk,RW=Bk,cW=Bk,gW=Bk,CW=Bk,SW=Bk,AW=Bk,LW=Bk,NW=Bk,DW=Bk,fW=Bk,FW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]},PW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";n='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";n='mini_g2.ext_rc522.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},YW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},vW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},XW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},yW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]};Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,Ie),Object.assign(ge.Lang.ZhHant,Te),Object.assign(ge.Lang.En,Me),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,IH),Object.assign(Ce.Profile.default,IH["元控青春"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,b,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,x,Y,G,he,me,Ee),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Oe,Re,ce)})(); \ No newline at end of file +class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Yt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},vt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,xt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},bt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const kt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ya=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ba=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ha=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Hu="#74A55B",ku={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Hr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Zm={init:function(){this.jsonInit({colour:wm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},eE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},tE={init:function(){this.setColour(wm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(tE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},iE={init:function(){this.setColour(wm),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},nE={init:function(){this.setColour(wm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(nE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},sE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},_E={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},pE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},aE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},uE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},TE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ME={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(ME.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},hE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(hE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},mE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},OE={init:function(){this.setColour(wm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},RE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},gE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},SE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},LE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},NE={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(NE.IMAGES),"path"),this.setColour(wm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},DE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(fE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},FE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},PE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},vE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown(vE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},XE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},yE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(yE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},xE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},BE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.jsonInit({colour:wm,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},wE={init:function(){this.jsonInit({colour:wm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},HE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},WE={init:function(){this.setColour(wm),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(wm),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},$E={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},ZE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},eO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(wm),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},iO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){Wm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){zm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){nE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO={init:function(){pE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uO={init:function(){aE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},rO=180,lO={init:function(){this.setColour(rO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(lO.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},dO={init:function(){this.setColour(rO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(dO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},IO={init:function(){this.setColour(rO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(IO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},TO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(MO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},hO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(hO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},mO="#777777",EO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},uR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},dR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},IR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},TR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ER={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},OR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},RR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},cR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},CR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AR={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(eR),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},LR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},PR=tR,YR=iR,vR=nR,XR=sR,yR=oR,xR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bR=xR,VR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},UR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},QR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR=225,qR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},jR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},$R={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},ZR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ec={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},nc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},sc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},_c={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},oc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},pc={init:function(){this.setColour(zR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},ac={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},uc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},rc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},lc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},dc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},Ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},Tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},hc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Ec={init:function(){this.setColour(zR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Oc={init:function(){this.appendValueInput("VAL"),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Oc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Rc={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(Rc.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},cc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Cc="#3288dd",Sc={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ac={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Lc={init:function(){this.appendValueInput("VAL"),this.setColour(Cc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Lc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Nc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Dc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(Cc),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Fc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},vc=100,Xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_SPK_STATE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ON,"True"],[ge.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vc=100,Bc={init:function(){this.setColour(Vc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Gc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc="#A58C5B",Qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},zc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},jc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},$c={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Zc={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},eg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},tg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(tg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ig={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ng={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},sg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},_g={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},og={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},pg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},ag={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},ug={init:function(){this.setColour(Jc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},lg={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ag={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ng={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ug={init:function(){this.setColour(Jc),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Jg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},zg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Rv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Av=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},Pv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Yv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},vv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Xv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},yv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},bv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},Vv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Gv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Uv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},wv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},zv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Zv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},eX=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},sX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},_X=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},oX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},MX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},hX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},RX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},cX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},gX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},CX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform()))return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},SX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},AX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},LX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},NX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},DX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},fX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},FX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},PX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},YX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},my=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},Ey=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Oy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ry=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},gy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Sy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Ay=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ly=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ny=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Dy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Py=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},vy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Xy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},xy=gX,by=UX,Vy=VX,By=UX,Gy=wX,Uy=XX,wy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Hy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},ky=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},Iw=function(){return"control.reset()\n"},Tw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Mw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},hw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},Ew=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},Ow=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Rw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},cw=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},gw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},Cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Sw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Aw=function(){return"while True:\n pass\n"},Lw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Nw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Dw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},fw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Fw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Pw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Yw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},vw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Xw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},yw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},bw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Vw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},Bw=vw,Gw=Xw,Uw=Yw,ww=Dw,Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Zw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},nH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},sH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:_H}=Ce,oH=_H.render(sH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:pH}=Ce,aH=pH.render(sH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:uH}=Ce,rH=uH.render(sH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),lH=new ge.Generator("Python");lH.INDENT=" ",lH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),lH.ORDER_ATOMIC=0,lH.ORDER_COLLECTION=1,lH.ORDER_STRING_CONVERSION=1,lH.ORDER_UNARY_POSTFIX=1,lH.ORDER_UNARY_PREFIX=2,lH.ORDER_MEMBER=2.1,lH.ORDER_FUNCTION_CALL=2.2,lH.ORDER_EXPONENTIATION=3,lH.ORDER_UNARY_SIGN=4,lH.ORDER_BITWISE_NOT=4,lH.ORDER_MULTIPLICATIVE=5,lH.ORDER_ADDITIVE=6,lH.ORDER_BITWISE_SHIFT=7,lH.ORDER_BITWISE_AND=8,lH.ORDER_BITWISE_XOR=9,lH.ORDER_BITWISE_OR=10,lH.ORDER_RELATIONAL=11,lH.ORDER_EQUALITY=11,lH.ORDER_LOGICAL_NOT=12,lH.ORDER_LOGICAL_AND=13,lH.ORDER_LOGICAL_OR=14,lH.ORDER_ASSIGNMENT=14,lH.ORDER_CONDITIONAL=15,lH.ORDER_LAMBDA=16,lH.ORDER_NONE=99,lH.ORDER_OVERRIDES=[[lH.ORDER_FUNCTION_CALL,lH.ORDER_MEMBER],[lH.ORDER_FUNCTION_CALL,lH.ORDER_FUNCTION_CALL],[lH.ORDER_MEMBER,lH.ORDER_MEMBER],[lH.ORDER_MEMBER,lH.ORDER_FUNCTION_CALL]],lH.init=function(){lH.PASS=this.INDENT+"pass\n",lH.definitions_=Object.create(null),lH.functionNames_=Object.create(null),lH.setups_=Object.create(null),lH.loops_=Object.create(null),lH.codeEnd_=Object.create(null),lH.variableDB_?lH.variableDB_.reset():lH.variableDB_=new Ne(lH.RESERVED_WORDS_)},lH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in lH.functions_)o.push(lH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in lH.setups_)p.push(lH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in lH.loops_)a.push(lH.loops_[s]);var u=[];for(var s in lH.codeEnd_)u.push(lH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},lH.scrubNakedValue=function(e){return e+"\n"},lH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},lH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},lH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,lH.COMMENT_WRAP-3),n+=lH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const dH={};dH["元控青春(NOVA)"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["元控自强(SANT)"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-20"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春(NOVA)"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH.S3_generic={description:"MicroPython[ESP32S3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春(NOVA)"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["元控飞翔(SOAR)"]=dH["元控青春(NOVA)"];const IH=dH,TH=20,MH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},hH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},EH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},OH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},RH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},cH={init:function(){this.setColour(TH),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},gH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},CH={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},AH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},LH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},NH=CH,DH=AH,fH=cH,FH=gH,PH=230,YH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},vH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},xH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},VH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},UH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},wH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},JH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},jH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},ZH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},sk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},uk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ck={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ak={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Nk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},fk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Fk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Pk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Yk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},vk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Xk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},yk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},bk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Vk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Bk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Gk=Bk,Uk=Bk,wk=Bk,Hk=Bk,kk=Bk,Wk=Bk,Kk=Bk,Jk=Bk,Qk=Bk,zk=Bk,qk=Bk,jk=Bk,$k=Bk,Zk=Bk,eW=Bk,tW=Bk,iW=Bk,nW=Bk,sW=Bk,_W=Bk,oW=Bk,pW=Bk,aW=Bk,uW=Bk,rW=Bk,lW=Bk,dW=Bk,IW=Bk,TW=Bk,MW=Bk,hW=Bk,mW=Bk,EW=Bk,OW=Bk,RW=Bk,cW=Bk,gW=Bk,CW=Bk,SW=Bk,AW=Bk,LW=Bk,NW=Bk,DW=Bk,fW=Bk,FW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]},PW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";n='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";n='mini_g2.ext_rc522.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},YW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},vW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},XW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},yW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]};Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,Ie),Object.assign(ge.Lang.ZhHant,Te),Object.assign(ge.Lang.En,Me),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,IH),Object.assign(Ce.Profile.default,IH["元控青春(NOVA)"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,b,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,x,Y,G,he,me,Ee),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/index.xml b/boards/default/micropython_nrf51822_microbit/index.xml index 9a6f8801..71040630 100644 --- a/boards/default/micropython_nrf51822_microbit/index.xml +++ b/boards/default/micropython_nrf51822_microbit/index.xml @@ -1 +1 @@ -0210000,1,2,3051i23390x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0192010000000000323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +0210000,1,2,3051i23390x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0192010000000000323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js b/boards/default/micropython_nrf51822_microbit/main.bundle.17da38bc.js similarity index 73% rename from boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js rename to boards/default/micropython_nrf51822_microbit/main.bundle.17da38bc.js index 3e658e2b..338ea951 100644 --- a/boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js +++ b/boards/default/micropython_nrf51822_microbit/main.bundle.17da38bc.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ot={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(j.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Xt={init:function(){this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT+j.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(j.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new j.FieldDropdown([[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ut={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},wt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;j.FieldTextInput.math_number_validator=function(t){return String(t)},j.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const xt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Jt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:j.Msg.MATH_TRIG_TOOLTIP_SIN,COS:j.Msg.MATH_TRIG_TOOLTIP_COS,TAN:j.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:j.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:j.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:j.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:j.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:j.Msg.MATH_DEC_TOOLTIP_BIN,oct:j.Msg.MATH_DEC_TOOLTIP_OCT,hex:j.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[j.Msg.LANG_MATH_TO_ROUND,"round"],[j.Msg.LANG_MATH_TO_CEIL,"ceil"],[j.Msg.LANG_MATH_TO_FLOOR,"floor"],[j.Msg.MATH_ABS,"fabs"],[j.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new j.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:j.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:j.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:j.Msg.MATH_SINGLE_TOOLTIP_SQ,round:j.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:j.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:j.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:j.Msg.MIXLY_TOOLTIP_MATH_MAX,min:j.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[j.Msg.MATH_TWO,"two"],[j.Msg.MATH_EIGHT,"eight"],[j.Msg.MATH_TEN,"ten"],[j.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(j.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new j.FieldDropdown(t),"OP").appendField(j.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MATH_ZHW).appendField(new j.FieldDropdown(t),"OP2").appendField(j.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:j.Msg.MATH_Before_two,eight:j.Msg.MATH_Before_eight,ten:j.Msg.MATH_Before_ten,sixteen:j.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:j.Msg.MATH_Behind_two,eight:j.Msg.MATH_Behind_eight,ten:j.Msg.MATH_Behind_ten,sixteen:j.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RANDOM).appendField(new j.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:j.Msg.LANG_MATH_INT,float:j.Msg.LANG_MATH_FLOAT_RANDOM};return j.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(j.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(j.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(j.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MATH_ROUND).appendField(j.Msg.TEXT_KEEP),this.appendDummyInput().appendField(j.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:j.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:j.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:j.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},re=ie,pe={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ae={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const me={init:function(){this.setColour(de),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new j.FieldTextInput("",j.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(j.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new j.FieldImage(e,7,12,'"')}},Oe={init:function(){this.setColour(de),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(j.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.TEXT_GET_INDEX_RANDOM+1+j.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(j.Msg.LISTS_GET_INDEX_GET,"MODE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(j.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+j.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",j.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:j.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:j.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:j.Msg.TEXT_GET_INDEX_RANDOM};return j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+j.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==j.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new j.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.LISTS_GET_INDEX_FROM_START+"n"+j.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[j.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==j.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new j.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},fe={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(j.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},De={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ne={init:function(){this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[j.Msg.TEXT_UPPER,"upper"],[j.Msg.TEXT_TITLE,"title"],[j.Msg.TEXT_CAPITALIZE,"capitalize"],[j.Msg.TEXT_SWAPCASE,"swapcase"],[j.Msg.TEXT_LOWER,"lower"]];this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:j.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:j.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:j.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:j.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:j.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(de),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(j.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(j.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(j.Msg.MIXLY_MID+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(j.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(j.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Xe={init:function(){this.setColour(de),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(j.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(j.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ye={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(de),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(j.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:j.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:j.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:j.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ve={init:function(){this.setColour(de),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new j.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new j.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_TOOLTIP)}},Vi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(j.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_DELETE_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(j.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(j.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(j.Msg.MIXLY_MID),this.setTooltip(j.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_CLEAR),this.setTooltip(j.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_DELDICT),this.setTooltip(j.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[j.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[j.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(j.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=j.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=j.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new j.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setTooltip(j.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_SETDEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new j.FieldLabel(j.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new j.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(j.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:j.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:j.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:j.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:j.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:j.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:j.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new j.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[j.Msg.LOGIC_OPERATION_AND,"AND"],[j.Msg.LOGIC_OPERATION_OR,"OR"],[j.Msg.LOGIC_OPERATION_NOR,"NOR"],[j.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:j.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:j.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:j.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:j.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},rn={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},pn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(j.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(j.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},an={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new j.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(j.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.IN)}},ln={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},dn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(j.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[j.Msg.MIXLY_ADD,"a"],[j.Msg.MATH_BIN+j.Msg.MIXLY_ADD,"ab"],[j.Msg.MIXLY_R_W,"r+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_R_W,"rb+"],[j.Msg.MIXLY_W_R,"w+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_W_R,"wb+"],[j.Msg.MIXLY_A_R,"a+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXPY_TEXT_ENCODE).appendField(new j.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},On={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.HTML_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+j.Msg.MIXLY_ESP32_SET+{mkdir:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(j.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.HTML_FILE,"isfile"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(j.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+j.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(j.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(j.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={init:function(){var t=j.Procedures.findLegalName("",this),e=new j.FieldTextInput(t,j.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new j.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&j.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(j.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(j.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(j.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(j.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=j.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),j.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{j.Events.enable()}},mutationToDom:function(t){var e=j.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_FORM_CONTENT).appendField(new j.FieldDropdown([[j.Msg.HTML_TEXT,"text"],[j.Msg.HTML_EMAIL,"email"],[j.Msg.HTML_NUMBER,"number"],[j.Msg.HTML_PASSWORD,"password"],[j.Msg.HTML_CHECKBOX,"checkbox"],[j.Msg.HTML_RADIOBUTTON,"radiobutton"],[j.Msg.HTML_BUTTON,"button"],[j.Msg.HTML_COLOUR,"colour"],[j.Msg.HTML_DATE,"date"],[j.Msg.HTML_LOCALTIME,"local time"],[j.Msg.HTML_FILE,"file"],[j.Msg.HTML_HIDDEN,"hidden"],[j.Msg.HTML_IMAGE,"image"],[j.Msg.HTML_MONTH,"month"],[j.Msg.HTML_RANGE,"range"],[j.Msg.HTML_RESET,"reset"],[j.Msg.HTML_SEARCH,"search"],[j.Msg.HTML_SUBMIT,"submit"],[j.Msg.HTML_TELEPHONENUMBER,"telephone number"],[j.Msg.HTML_TIME,"time"],[j.Msg.HTML_URL,"url"],[j.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(j.Msg.HTML_NAME).appendField(new j.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(j.Msg.HTML_VALUE).appendField(new j.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},xs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(j.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=j.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+r()+"("+t+", "+e+", "+i+") or "+p()+"("+t+", "+e+", "+i+")"},j.isNumber(n)&&j.isNumber(s)&&j.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Gu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Uu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},wu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tr=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},er=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ir=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},nr=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sr=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},or=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_r=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ur=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},rr=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},pr=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ar=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},lr=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ir=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},dr=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Tr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},hr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Mr=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Zr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$r=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ep=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ip=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},np=function(t,e){return'"},sp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},op=function(){return this.getFieldValue("TEXT")+"\n"},_p=function(t){return t.getFieldValue("TEXT")+"\n"},up=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},rp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},pp=function(){return""},ap=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lp=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n")},hp.scrubNakedValue=function(t){return t+"\n"},hp.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hp.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hp.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,hp.COMMENT_WRAP-3),n+=hp.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mp=120,mp={init:function(){this.setColour(Mp),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(mp.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},Op={init:function(){this.setColour(Mp);var t=new j.FieldDropdown(Op.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cp="5BA5A5",Ep={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Ep.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Rp={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Rp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gp={init:function(){this.setColour(cp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(gp.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},Cp={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(Cp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ap={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(Ap.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lp={init:function(){this.setColour(cp),this.appendValueInput("SUB").setCheck("var").appendField(j.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Lp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Sp="#569A98",fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Dp={init:function(){this.setColour(Sp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Dp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Np={init:function(){this.setColour(Sp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Np.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(q.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(j.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:j.Msg.MIXLY_UP,shift_down:j.Msg.MIXLY_DOWN,shift_left:j.Msg.MIXLY_LEFT,shift_right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Pp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Pp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(vp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.OLED_SET_FONT).appendField(new j.FieldDropdown(Yp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+j.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(bp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Xp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new j.FieldDropdown(Xp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[j.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[j.Msg.CLOCKWISE+"90"+j.Msg.blockpy_setheading_degree,"1"],[j.Msg.CLOCKWISE+"180"+j.Msg.blockpy_setheading_degree,"2"],[j.Msg.CLOCKWISE+"270"+j.Msg.blockpy_setheading_degree,"3"]]},yp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(yp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Vp=180,Bp={init:function(){this.setColour(Vp),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Bp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]]},Gp={init:function(){this.setColour(Vp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Gp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Up={init:function(){this.setColour(Vp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(Up.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},wp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(wp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(kp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new j.FieldDropdown(xp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hp=225,Wp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$p={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},ta={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ea={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},na={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},oa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_a={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ua={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ra={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},pa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},aa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},la={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},da={init:function(){this.setColour(Hp),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ta={init:function(){this.appendValueInput("VAL"),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ta.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},ha={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown(ha.METHOD),"DIR"),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(new j.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Oa="#3288dd",ca={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ea={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ra={init:function(){this.appendValueInput("VAL"),this.setColour(Oa),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ra.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},ga={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(j.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Ca={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(j.Msg.MIXLY_EMQX_SERVER).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(j.Msg.MIXLY_EMQX_PORT).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(j.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(j.Msg.MIXLY_WIFI_USERNAME).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.MIXLY_IOT_PASSWORD).setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Aa={init:function(){this.setColour(Oa),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(j.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},La={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(j.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(j.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"+j.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Da="#A58C5B",Na={init:function(){this.setColour(Da),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(Na.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Fa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},va=(j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START,{init:function(){this.setColour(Da),this.appendDummyInput("").appendField(j.Msg.PS2_stick).appendField(new j.FieldDropdown(va.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"0"],[j.Msg.PS2_RY,"1"],[j.Msg.PS2_LX,"2"],[j.Msg.PS2_LY,"3"]]}),Ya={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.PS2),this.appendDummyInput("").appendField(j.Msg.MIXLY_JOYSTICK).appendField(new j.FieldDropdown(Ya.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"RX"],[j.Msg.PS2_RY,"RY"],[j.Msg.PS2_LX,"LX"],[j.Msg.PS2_LY,"LY"]]},ba="#947C54",Xa={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},ya={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},Va={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},Ba={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ga={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},Ua={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},wa={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ha={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Wa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},Ja={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CHAOSHENGBO)}},Qa={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(j.Msg.MIXLY_RTCSETTIME+j.Msg.MIXLY_MIX2)}},ja={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RTCSETDATE+j.Msg.MIXLY_MIX1)}},qa={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},za={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Za={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$a={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_UP,"12"],[j.Msg.MIXLY_DOWN,"14"],[j.Msg.MIXLY_LEFT,"13"],[j.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},il={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR)}},_l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"left"],[j.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0)}},rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_EXTERN_LIGHT;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},al={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_COLOR_SENSOR+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},dl={init:function(){this.setColour(ba),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},Tl={init:function(){this.setColour(ba),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},hl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(j.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ml={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+j.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+j.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},ml={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},Ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_RTC_GET_TIME_STR),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP)}},cl={init:function(){this.setColour(ba),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_GPS_TIME+j.Msg.MIXLY_MICROBIT_TYPE_TUPLE).setCheck(),this.appendDummyInput().appendField(j.Msg.A_TO_B+j.Msg.MIXLY_GPS_TIME+j.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0)}},El={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:j.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:j.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[e]}))}},Cl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Al={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_Altitude+j.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETPRESSURE,"pressure()"],[j.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[j.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(j.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},fl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(j.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RFID").appendField(new j.FieldDropdown([[j.Msg.MIXLY_RFID_SCAN_OK,"True"],[j.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[j.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Fl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_GESTURE_ALL).appendField(new j.FieldDropdown([[j.Msg.ME_GO_PITCH,"[0]"],[j.Msg.ME_GO_ROLL,"[1]"],[j.Msg.ME_GO_PITCH+", "+j.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_shake,"shake"],[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"],[j.Msg.MIXLY_MICROBIT_face_up,"face up"],[j.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=j.Msg.MIXLY_MICROBIT_JS_CURRENT,n=j.Msg.MSG.catSensor,s=j.Msg.MIXLY_MICROBIT_JS_STATE,o=j.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:j.Msg.MIXLY_MICROBIT_shake,up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT,"face up":j.Msg.MIXLY_MICROBIT_face_up,"face down":j.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"1"],[j.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("acc"+j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_ADXL345_XA,"[0]"],[j.Msg.MIXLY_ADXL345_YA,"[1]"],[j.Msg.MIXLY_ACC_SHAKE,"[2]"],[j.Msg.MIXLY_ADXL345_XA+","+j.Msg.MIXLY_ADXL345_YA+","+j.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"[0]"],[j.Msg.MIXGO_LEFT_MID,"[1]"],[j.Msg.MIXGO_RIGHT_MID,"[2]"],[j.Msg.TEXT_TRIM_RIGHT,"[3]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},Zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[j.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[j.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXGO_LINE_SENSOR).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},iI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},nI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.ANALOG+j.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown(q.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},_I=Xa,uI=ya,rI=Va,pI=xa,aI=ul,lI=za,II=Na,dI=Fa,TI=Pa,hI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_EXTERN_SOUND),this.setInputsInline(!0),this.setOutput(!0)}},MI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},mI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_LIGHT_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},OI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GYROSCOPE_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},cI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_Horizontal_inclination,"X"],["y","[1]"],["z","[2]"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},EI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_BE_SHAKED),this.setInputsInline(!0),this.setOutput(!0)}},RI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_BUTTON).appendField(new j.FieldDropdown([["a","a"],["b","b"],["c","c"]]),"btn"),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},CI={init:function(){this.setColour(ba),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_INITIAL),this.setOutput(!0),this.setInputsInline(!0)}},AI={init:function(){this.setColour(ba),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ+j.Msg.MIXLY_COMMUNICATION_DATA_FROM),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_THE_COPROCESSOR_VERSION),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.ANALOG+j.Msg.MIXLY_LIGHT_SENSOR2).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"0"],[j.Msg.TEXT_TRIM_RIGHT,"1"]]),"key"),this.appendDummyInput().appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_SYSTEM_RAISE_VALUE),this.setOutput(!0),this.setInputsInline(!0)}},DI=40,NI={init:function(){this.setColour(DI),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(NI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[j.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const PI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},FI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},vI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},YI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},bI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},XI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},yI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},VI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},BI=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},GI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},UI=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},wI=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},kI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},xI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},HI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},WI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},JI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},jI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},zI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},ZI=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},$I=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ed=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},id=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},od=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ud=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rd=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},pd=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},ad=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},ld=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Id=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Td=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=e.valueToCode(this,"btn",e.ORDER_ATOMIC),s=this.getFieldValue("mode");return i+"."+n+".irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+s+")\n"},Md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.is_pressed()",e.ORDER_ATOMIC]},md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.was_pressed()",e.ORDER_ATOMIC]},Od=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=this.getFieldValue("mode");return i+".button.irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+n+")\n"},Ed=function(t,e){return e.definitions_.import_sonar="import sonar",["sonar.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+").checkdist()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Cd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ad=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ld=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Sd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},fd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps_nl()",e.ORDER_ATOMIC]},Nd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".infrared_"+this.getFieldValue("direction")+"()",e.ORDER_ATOMIC]},Pd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps()",e.ORDER_ATOMIC]},Fd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".ps_nl()",e.ORDER_ATOMIC]},vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als()",e.ORDER_ATOMIC]},Yd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.color()",e.ORDER_ATOMIC]},bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".als_vis()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",e.ORDER_ATOMIC];if("mixgo_ce"==i)return e.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",e.ORDER_ATOMIC];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als_vis()",e.ORDER_ATOMIC]},Bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==i){e.definitions_["import_"+i+"_sound"]="from "+i+" import sound";var n="sound.loudness()"}else if("mixgo_zero"==i){e.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";n="sound_level()"}else if("mixgo_nova"==i){e.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";n="sound_level()"}else if("mixgo_soar"==i){e.definitions_.import_mixgo_soar_voice_sound_level="from mixgo_soar_voice import sound_level";n="sound_level()"}else{if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",e.ORDER_ATOMIC];if("mixgo_mini"==i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";n="onboard_bot.soundlevel()"}else{e.definitions_["import_"+i+"_onboard_sound"]="from "+i+" import onboard_sound";n="onboard_sound.read()"}}return[n,e.ORDER_ATOMIC]},Gd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_spl06_001="import spl06_001",e.definitions_.import_onboard_bps="onboard_bps = spl06_001.SPL06(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_bps"]="from "+i+" import onboard_bps",["onboard_bps."+n,e.ORDER_ATOMIC]},Ud=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_nova"==i||"mixgo_zero"==i?e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths":"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_shtc3="import shtc3",e.definitions_.import_onboard_ths="onboard_ths = shtc3.SHTC3(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths",["onboard_ths."+n+"()",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",e.ORDER_ATOMIC]},kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=i,s="onboard_rfid";return"mixgo_mini"===i?(n="mini_gx",s="ext_rfid"):"mixgo_me"===i?(n="me_g1",s="ext_rc522"):"mixgo_sant"===i&&(n="sant_gx",s="ext_rfid"),e.definitions_[`import_${n}_${s}`]=`from ${n} import ${s}`,[`${s}.read_card(0, x="id")`,e.ORDER_ATOMIC]},xd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.read_card(${n}, x="content")`,e.ORDER_ATOMIC]},Hd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,`${_}.write_card(${s}, ${n})\n`},Wd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,[`${_}.write_card(${s}, ${n})`,e.ORDER_ATOMIC]},Kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key"),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.scan_card() == ${n}`,e.ORDER_ATOMIC]},Jd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("strength"==n){if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";var s="acc_gyr.strength()"}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.strength()"}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.strength()"}return[s,e.ORDER_ATOMIC]}if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";s="acc_gyr.accelerometer()"+n}else if("mpython"==i){e.definitions_.import_mpython_motion="from mpython import motion";s="motion.accelerometer()"+n}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.acceleration()"+n}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.acceleration()"+n}return[s,e.ORDER_ATOMIC]},Qd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},jd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},qd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"button",e.ORDER_ATOMIC);if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var s="onboard_bot.touched("+n+")"}else{e.definitions_["import_"+i]="import "+i;s=i+".touched("+n+")"}return[s,e.ORDER_ATOMIC]},Zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var n="onboard_bot.touch_slide()"}else{e.definitions_["import_"+i]="import "+i;n=i+".touch_slide(3, 4)"}return[n,e.ORDER_ATOMIC]},$d=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},tT=function(t,e){return e.definitions_.import_mpython="import mpython",["mpython.touch_"+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},eT=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},nT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},oT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},_T=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},rT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},pT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},aT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},lT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},IT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},dT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",e.ORDER_ATOMIC]},TT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var i,n=this.getFieldValue("compass");return"strength"==n?i="onboard_compass.get_field_strength()":"heading"==n&&(i="onboard_compass.heading()"),[i,e.ORDER_ATOMIC]},hT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},MT=function(t,e){return e.definitions_.import_rtctime="import rtctime","rtctime.settime(("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+", 0, 0))\n"},mT=function(t,e){var i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_rtctime="import rtctime","rtctime.settime("+i+")\n"},OT=function(t,e){e.definitions_.import_time="import time";return["time.localtime()",e.ORDER_ATOMIC]},cT=function(t,e){return e.definitions_.import_time="import time",["time.mktime("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(t,e){return e.definitions_.import_time="import time",["time.localtime("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RT=function(t,e){e.definitions_.import_rtctime="import rtctime";return["rtctime.strtime()",e.ORDER_ATOMIC]},gT=function(t,e){return e.definitions_.import_rtctime="import rtctime",["rtctime.strtime("+e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==n)if(e.definitions_.import_mpython_magnetic="from mpython import magnetic","all"==i)var s="magnetic.getstrength()";else s="magnetic.getdata()"+i;else if("mixgo_mini"==n)if(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;else if(e.definitions_["import_"+n+"_onboard_mgs"]="from "+n+" import onboard_mgs","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;return[s,e.ORDER_ATOMIC]},AT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_.import_mpython_magnetic="from mpython import magnetic"}else"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return["onboard_mgs.getangle()",e.ORDER_ATOMIC]},LT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},ST=function(t,e){if("mixgo_mini"==q.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var i="onboard_temperature()"}else{e.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";i="onboard_acc.temperature()"}return[i,e.ORDER_ATOMIC]},fT=function(t,e){e.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",e.ORDER_ATOMIC]},DT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+i,e.ORDER_ATOMIC]},NT=function(t,e){return e.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",e.ORDER_ATOMIC]},PT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_adc"+n]="from "+i+" import adc"+n,["adc"+n+".read()",e.ORDER_ATOMIC]},FT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==i?(e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",e.ORDER_ATOMIC]):(e.definitions_["import_"+i+"_battery"]="from "+i+" import battery",["battery.voltage()",e.ORDER_ATOMIC])},vT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+i,e.ORDER_ATOMIC]},YT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+i,e.ORDER_ATOMIC]},bT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+i,e.ORDER_ATOMIC]},XT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+i+")\n"},yT=function(t,e){e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",e.ORDER_ATOMIC]},VT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol","patrol.correct(patrol.CORRECTING_"+i+")\n"},BT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol",["patrol.getdata()"+i,e.ORDER_ATOMIC]},GT=function(t,e){e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",e.ORDER_ATOMIC]},UT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";var s="onboard_imu.gyroscope()"+n}else{e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";s="acc_gyr.gyroscope()"+n}return[s,e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+e.valueToCode(this,"mode",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},xT=Id,HT=dd,WT=Td,KT=$d,JT=Pd,QT=Vd,jT=QT,qT=function(t,e){return e.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_educore_sound="from educore import sound";return["sound()",e.ORDER_ATOMIC]},ZT=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_educore_light="from educore import light";return["light()",e.ORDER_ATOMIC]},th=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer";return["accelerometer()",e.ORDER_ATOMIC]},eh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ih=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shake()",e.ORDER_ATOMIC]},nh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",["button(button."+this.getFieldValue("btn")+")",e.ORDER_ATOMIC]},sh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".status()",e.ORDER_ATOMIC]},oh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",["rfid("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_h=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scanning()",e.ORDER_ATOMIC]},uh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";return["onboard_bot.version()",e.ORDER_ATOMIC]},ph=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot",["onboard_bot.brightness("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},ah='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lh}=q,{XML:Ih}=(lh.render(ah,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:dh}=(Ih.render(ah,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),Th=(dh.render(ah,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new j.Generator("Python"));Th.INDENT=" ",Th.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Th.ORDER_ATOMIC=0,Th.ORDER_COLLECTION=1,Th.ORDER_STRING_CONVERSION=1,Th.ORDER_UNARY_POSTFIX=1,Th.ORDER_UNARY_PREFIX=2,Th.ORDER_MEMBER=2.1,Th.ORDER_FUNCTION_CALL=2.2,Th.ORDER_EXPONENTIATION=3,Th.ORDER_UNARY_SIGN=4,Th.ORDER_BITWISE_NOT=4,Th.ORDER_MULTIPLICATIVE=5,Th.ORDER_ADDITIVE=6,Th.ORDER_BITWISE_SHIFT=7,Th.ORDER_BITWISE_AND=8,Th.ORDER_BITWISE_XOR=9,Th.ORDER_BITWISE_OR=10,Th.ORDER_RELATIONAL=11,Th.ORDER_EQUALITY=11,Th.ORDER_LOGICAL_NOT=12,Th.ORDER_LOGICAL_AND=13,Th.ORDER_LOGICAL_OR=14,Th.ORDER_ASSIGNMENT=14,Th.ORDER_CONDITIONAL=15,Th.ORDER_LAMBDA=16,Th.ORDER_NONE=99,Th.ORDER_OVERRIDES=[[Th.ORDER_FUNCTION_CALL,Th.ORDER_MEMBER],[Th.ORDER_FUNCTION_CALL,Th.ORDER_FUNCTION_CALL],[Th.ORDER_MEMBER,Th.ORDER_MEMBER],[Th.ORDER_MEMBER,Th.ORDER_FUNCTION_CALL]],Th.init=function(){Th.PASS=this.INDENT+"pass\n",Th.definitions_=Object.create(null),Th.functionNames_=Object.create(null),Th.setups_=Object.create(null),Th.loops_=Object.create(null),Th.codeEnd_=Object.create(null),Th.variableDB_?Th.variableDB_.reset():Th.variableDB_=new tt(Th.RESERVED_WORDS_)},Th.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in Th.functions_)_.push(Th.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in Th.setups_)u.push(Th.setups_[s]);u.length&&u.push("\n");var r=[];for(var s in Th.loops_)r.push(Th.loops_[s]);var p=[];for(var s in Th.codeEnd_)p.push(Th.codeEnd_[s]);0!==p.length&&p.push("\n");let a="";return a=r.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n"),a},Th.scrubNakedValue=function(t){return t+"\n"},Th.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Th.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Th.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,Th.COMMENT_WRAP-3),n+=Th.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const hh={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};hh["BBC micro:bit"]=hh.microbit;const Mh=hh,mh=100,Oh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Eh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(j.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(j.Msg.MIXLY_MILLIS).appendField(j.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new j.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},gh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_notes1)}},Ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ah={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:j.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_music)}},Lh={init:function(){this.setColour(mh),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_NOTONE).appendField(j.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_NOTONE)}},Sh={init:function(){this.jsonInit({colour:mh,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:j.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Get_current_tempo)}},fh={init:function(){this.setColour(mh),this.appendValueInput("TICKS").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(j.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Dh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=j.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Nh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ph={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MICROBIT_SPEECH_translation)}},Yh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_SERVO).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},bh={init:function(){this.appendValueInput("speed").setCheck(null).appendField(j.Msg.MIXLY_MOTOR).appendField(new j.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(j.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new j.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(mh),this.setTooltip(""),this.setHelpUrl("")}},Xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RGB_PIN_COUNT)}},yh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_RGB_NUM_R_G_B)}},Vh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_ESP32_MUSIC_WRI)}},Gh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+" "+j.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(j.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(j.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Uh=[[j.Msg.MIXLY_MP3_PLAY,"play"],[j.Msg.MIXLY_MP3_PAUSE,"pause"],[j.Msg.MIXLY_MP3_NEXT,"next_track"],[j.Msg.MIXLY_MP3_PREV,"prev_track"],[j.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[j.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Uh),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var kh=[[j.Msg.MIXLY_MP3_LOOP_ALL,"0"],[j.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[j.Msg.MIXLY_MP3_LOOP_ONE,"2"],[j.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_LOOP_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(kh),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Hh=[[j.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[j.Msg.MIXLY_MP3_EQ_POP,"1"],[j.Msg.MIXLY_MP3_EQ_ROCK,"2"],[j.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[j.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[j.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_EQ_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Hh),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Kh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(j.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Jh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Qh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(j.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},jh=140,qh={init:function(){this.setColour(225),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[j.Msg.HTML_RESET,"reset"]]),"type").appendField(j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:j.Blockly.Msg.HTML_RESET}[e]+i}))}},zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:j.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:j.Msg.MIXLY_MICROBIT_Switch_off_radio})}},$h={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:j.Msg.MIXLY_MICROBIT_Configure_radio1,message0:j.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},tM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:j.Msg.MIXLY_MICROBIT_Reset_radio})}},eM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:j.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},iM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"send"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Send_message1)}},nM={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:j.Msg.MIXLY_MICROBIT_Receive_message,message0:j.Msg.MIXLY_MICROBIT_Receive_message})}},sM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"receive"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[j.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Receive_message)}},oM={init:function(){this.setColour(jh),this.appendValueInput("RX",Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},uM={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},rM={init:function(){this.jsonInit({colour:jh,nextStatement:null,previousStatement:null,message0:j.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},pM={init:function(){this.setColour(jh),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},aM=180,lM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:j.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(j.Msg.MIXLY_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS1)}},dM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(j.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS2)}},TM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},hM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(j.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(aM),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(j.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.OLED_BITMAP)}},OM={init:function(){this.jsonInit({colour:aM,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:j.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},cM={init:function(){this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:j.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+j.Msg.MIXLY_MICROBIT_Animate_images1)}},EM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:j.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},RM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:j.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[j.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(j.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=j.Msg.MIXLY_MICROBIT_monitor;return{on:j.Msg.MIXLY_MICROBIT_Turn_on_display,off:j.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},CM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:j.Msg.MIXLY_MICROBIT_Turn_off_display})}},AM={init:function(){this.jsonInit({colour:aM,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:j.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Display_is_on1)}},LM={init:function(){this.jsonInit({colour:aM,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:j.Msg.MIXLY_MICROBIT_Built_in_image1,message0:j.Msg.MIXLY_MICROBIT_Built_in_image})}},SM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:j.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Copy_image1)}},fM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:j.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Invert_image1)}},DM={init:function(){this.jsonInit({colour:aM,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:j.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)}},NM={init:function(){var t=[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[t]+s}))}},PM={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},FM={init:function(){this.setColour(aM),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},vM={init:function(){this.setColour(aM),this.appendValueInput("device").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_SETUP).appendField(j.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SETUP+j.Msg.MIXLY_DF_LCD+j.Msg.MIXLY_LCD_ADDRESS)}},YM={init:function(){this.setColour(aM),this.appendValueInput("row",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},bM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ON,"on()"],[j.Msg.MIXLY_OFF,"off()"],[j.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[j.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_DF_LCD+{"on()":j.Msg.MIXLY_ON,"off()":j.Msg.MIXLY_OFF,"clear()":j.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":j.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},XM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD+" OLED "+j.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(j.inputs.Align.RIGHT).appendField("(128*64) "+j.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(aM),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yM={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[t]}))}},VM={init:function(){this.setColour(aM),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:j.Msg.MIXLY_LCD_STAT_CLEAR,1:j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return j.Msg.MIXLY_DF_LCD+i[e]}))}},BM="#777777",GM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField(new j.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},vE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},YE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},bE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},XE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},yE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},VE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},GE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},UE=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},kE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},xE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},HE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},WE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},KE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},JE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},QE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},jE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},qE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},zE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},ZE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},$E=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},tR=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},eR=function(){return"control.reset()\n"},iR=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},nR=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},sR=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},oR=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},_R=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pR=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},aR=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},lR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},IR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},dR=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},TR=function(){return"while True:\n pass\n"},hR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},MR=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Tp),j.Python=hp,j.generator=hp,q.Profile.default={},Object.assign(q.Profile,Mh),Object.assign(q.Profile.default,Mh.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,r,p,a,l,I,d,f,D,F,v,Y,b,X,y,V,B,G),Object.assign(j.Python.forBlock,T,h,M,m,O,c,E,R,g,C,A,L,S,N,P,U,w,k,x,H,W,K,J,Q)})(); \ No newline at end of file +class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ot={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(j.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Xt={init:function(){this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT+j.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(j.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new j.FieldDropdown([[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ut={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},wt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;j.FieldTextInput.math_number_validator=function(t){return String(t)},j.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const xt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Jt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:j.Msg.MATH_TRIG_TOOLTIP_SIN,COS:j.Msg.MATH_TRIG_TOOLTIP_COS,TAN:j.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:j.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:j.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:j.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:j.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:j.Msg.MATH_DEC_TOOLTIP_BIN,oct:j.Msg.MATH_DEC_TOOLTIP_OCT,hex:j.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[j.Msg.LANG_MATH_TO_ROUND,"round"],[j.Msg.LANG_MATH_TO_CEIL,"ceil"],[j.Msg.LANG_MATH_TO_FLOOR,"floor"],[j.Msg.MATH_ABS,"fabs"],[j.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new j.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:j.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:j.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:j.Msg.MATH_SINGLE_TOOLTIP_SQ,round:j.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:j.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:j.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:j.Msg.MIXLY_TOOLTIP_MATH_MAX,min:j.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[j.Msg.MATH_TWO,"two"],[j.Msg.MATH_EIGHT,"eight"],[j.Msg.MATH_TEN,"ten"],[j.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(j.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new j.FieldDropdown(t),"OP").appendField(j.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MATH_ZHW).appendField(new j.FieldDropdown(t),"OP2").appendField(j.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:j.Msg.MATH_Before_two,eight:j.Msg.MATH_Before_eight,ten:j.Msg.MATH_Before_ten,sixteen:j.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:j.Msg.MATH_Behind_two,eight:j.Msg.MATH_Behind_eight,ten:j.Msg.MATH_Behind_ten,sixteen:j.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RANDOM).appendField(new j.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:j.Msg.LANG_MATH_INT,float:j.Msg.LANG_MATH_FLOAT_RANDOM};return j.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(j.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(j.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(j.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MATH_ROUND).appendField(j.Msg.TEXT_KEEP),this.appendDummyInput().appendField(j.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:j.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:j.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:j.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},re=ie,pe={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ae={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const me={init:function(){this.setColour(de),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new j.FieldTextInput("",j.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(j.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new j.FieldImage(e,7,12,'"')}},Oe={init:function(){this.setColour(de),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(j.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.TEXT_GET_INDEX_RANDOM+1+j.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(j.Msg.LISTS_GET_INDEX_GET,"MODE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(j.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+j.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",j.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:j.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:j.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:j.Msg.TEXT_GET_INDEX_RANDOM};return j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+j.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==j.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new j.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.LISTS_GET_INDEX_FROM_START+"n"+j.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[j.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==j.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new j.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},fe={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(j.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},De={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ne={init:function(){this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[j.Msg.TEXT_UPPER,"upper"],[j.Msg.TEXT_TITLE,"title"],[j.Msg.TEXT_CAPITALIZE,"capitalize"],[j.Msg.TEXT_SWAPCASE,"swapcase"],[j.Msg.TEXT_LOWER,"lower"]];this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:j.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:j.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:j.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:j.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:j.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(de),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(j.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(j.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(j.Msg.MIXLY_MID+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(j.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(j.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Xe={init:function(){this.setColour(de),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(j.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(j.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ye={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(de),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(j.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:j.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:j.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:j.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ve={init:function(){this.setColour(de),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new j.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new j.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_TOOLTIP)}},Vi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(j.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_DELETE_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(j.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(j.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(j.Msg.MIXLY_MID),this.setTooltip(j.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_CLEAR),this.setTooltip(j.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_DELDICT),this.setTooltip(j.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[j.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[j.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(j.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=j.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=j.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new j.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setTooltip(j.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_SETDEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new j.FieldLabel(j.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new j.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(j.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:j.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:j.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:j.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:j.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:j.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:j.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new j.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[j.Msg.LOGIC_OPERATION_AND,"AND"],[j.Msg.LOGIC_OPERATION_OR,"OR"],[j.Msg.LOGIC_OPERATION_NOR,"NOR"],[j.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:j.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:j.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:j.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:j.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},rn={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},pn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(j.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(j.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},an={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new j.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(j.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.IN)}},ln={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},dn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(j.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[j.Msg.MIXLY_ADD,"a"],[j.Msg.MATH_BIN+j.Msg.MIXLY_ADD,"ab"],[j.Msg.MIXLY_R_W,"r+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_R_W,"rb+"],[j.Msg.MIXLY_W_R,"w+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_W_R,"wb+"],[j.Msg.MIXLY_A_R,"a+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXPY_TEXT_ENCODE).appendField(new j.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},On={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.HTML_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+j.Msg.MIXLY_ESP32_SET+{mkdir:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(j.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.HTML_FILE,"isfile"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(j.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+j.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(j.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(j.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={init:function(){var t=j.Procedures.findLegalName("",this),e=new j.FieldTextInput(t,j.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new j.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&j.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(j.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(j.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(j.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(j.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=j.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),j.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{j.Events.enable()}},mutationToDom:function(t){var e=j.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_FORM_CONTENT).appendField(new j.FieldDropdown([[j.Msg.HTML_TEXT,"text"],[j.Msg.HTML_EMAIL,"email"],[j.Msg.HTML_NUMBER,"number"],[j.Msg.HTML_PASSWORD,"password"],[j.Msg.HTML_CHECKBOX,"checkbox"],[j.Msg.HTML_RADIOBUTTON,"radiobutton"],[j.Msg.HTML_BUTTON,"button"],[j.Msg.HTML_COLOUR,"colour"],[j.Msg.HTML_DATE,"date"],[j.Msg.HTML_LOCALTIME,"local time"],[j.Msg.HTML_FILE,"file"],[j.Msg.HTML_HIDDEN,"hidden"],[j.Msg.HTML_IMAGE,"image"],[j.Msg.HTML_MONTH,"month"],[j.Msg.HTML_RANGE,"range"],[j.Msg.HTML_RESET,"reset"],[j.Msg.HTML_SEARCH,"search"],[j.Msg.HTML_SUBMIT,"submit"],[j.Msg.HTML_TELEPHONENUMBER,"telephone number"],[j.Msg.HTML_TIME,"time"],[j.Msg.HTML_URL,"url"],[j.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(j.Msg.HTML_NAME).appendField(new j.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(j.Msg.HTML_VALUE).appendField(new j.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},xs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(j.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=j.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+r()+"("+t+", "+e+", "+i+") or "+p()+"("+t+", "+e+", "+i+")"},j.isNumber(n)&&j.isNumber(s)&&j.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Gu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Uu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},wu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tr=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},er=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ir=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},nr=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sr=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},or=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_r=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ur=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},rr=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},pr=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ar=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},lr=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ir=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},dr=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Tr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},hr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Mr=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Zr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$r=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ep=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ip=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},np=function(t,e){return'"},sp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},op=function(){return this.getFieldValue("TEXT")+"\n"},_p=function(t){return t.getFieldValue("TEXT")+"\n"},up=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},rp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},pp=function(){return""},ap=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lp=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n")},hp.scrubNakedValue=function(t){return t+"\n"},hp.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hp.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hp.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,hp.COMMENT_WRAP-3),n+=hp.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mp=120,mp={init:function(){this.setColour(Mp),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(mp.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},Op={init:function(){this.setColour(Mp);var t=new j.FieldDropdown(Op.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cp="5BA5A5",Ep={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Ep.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Rp={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Rp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gp={init:function(){this.setColour(cp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(gp.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},Cp={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(Cp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ap={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(Ap.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lp={init:function(){this.setColour(cp),this.appendValueInput("SUB").setCheck("var").appendField(j.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Lp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Sp="#569A98",fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Dp={init:function(){this.setColour(Sp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Dp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Np={init:function(){this.setColour(Sp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Np.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(q.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(j.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:j.Msg.MIXLY_UP,shift_down:j.Msg.MIXLY_DOWN,shift_left:j.Msg.MIXLY_LEFT,shift_right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Pp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Pp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(vp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.OLED_SET_FONT).appendField(new j.FieldDropdown(Yp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+j.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(bp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Xp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new j.FieldDropdown(Xp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[j.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[j.Msg.CLOCKWISE+"90"+j.Msg.blockpy_setheading_degree,"1"],[j.Msg.CLOCKWISE+"180"+j.Msg.blockpy_setheading_degree,"2"],[j.Msg.CLOCKWISE+"270"+j.Msg.blockpy_setheading_degree,"3"]]},yp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(yp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Vp=180,Bp={init:function(){this.setColour(Vp),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Bp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]]},Gp={init:function(){this.setColour(Vp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Gp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Up={init:function(){this.setColour(Vp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(Up.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},wp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(wp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(kp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new j.FieldDropdown(xp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hp=225,Wp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$p={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},ta={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ea={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},na={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},oa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_a={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ua={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ra={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},pa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},aa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},la={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},da={init:function(){this.setColour(Hp),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ta={init:function(){this.appendValueInput("VAL"),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ta.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},ha={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown(ha.METHOD),"DIR"),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(new j.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Oa="#3288dd",ca={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ea={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ra={init:function(){this.appendValueInput("VAL"),this.setColour(Oa),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ra.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},ga={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(j.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Ca={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(j.Msg.MIXLY_EMQX_SERVER).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(j.Msg.MIXLY_EMQX_PORT).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(j.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(j.Msg.MIXLY_WIFI_USERNAME).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.MIXLY_IOT_PASSWORD).setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Aa={init:function(){this.setColour(Oa),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(j.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},La={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(j.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(j.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"+j.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Da="#A58C5B",Na={init:function(){this.setColour(Da),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(Na.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Fa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},va=(j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START,{init:function(){this.setColour(Da),this.appendDummyInput("").appendField(j.Msg.PS2_stick).appendField(new j.FieldDropdown(va.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"0"],[j.Msg.PS2_RY,"1"],[j.Msg.PS2_LX,"2"],[j.Msg.PS2_LY,"3"]]}),Ya={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.PS2),this.appendDummyInput("").appendField(j.Msg.MIXLY_JOYSTICK).appendField(new j.FieldDropdown(Ya.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"RX"],[j.Msg.PS2_RY,"RY"],[j.Msg.PS2_LX,"LX"],[j.Msg.PS2_LY,"LY"]]},ba="#947C54",Xa={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},ya={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},Va={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},Ba={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ga={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},Ua={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},wa={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ha={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Wa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},Ja={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CHAOSHENGBO)}},Qa={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(j.Msg.MIXLY_RTCSETTIME+j.Msg.MIXLY_MIX2)}},ja={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RTCSETDATE+j.Msg.MIXLY_MIX1)}},qa={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},za={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Za={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$a={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_UP,"12"],[j.Msg.MIXLY_DOWN,"14"],[j.Msg.MIXLY_LEFT,"13"],[j.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},il={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR)}},_l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"left"],[j.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0)}},rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_EXTERN_LIGHT;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},al={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_COLOR_SENSOR+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},dl={init:function(){this.setColour(ba),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},Tl={init:function(){this.setColour(ba),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},hl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(j.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ml={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+j.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+j.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},ml={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},Ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_RTC_GET_TIME_STR),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP)}},cl={init:function(){this.setColour(ba),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_GPS_TIME+j.Msg.MIXLY_MICROBIT_TYPE_TUPLE).setCheck(),this.appendDummyInput().appendField(j.Msg.A_TO_B+j.Msg.MIXLY_GPS_TIME+j.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0)}},El={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:j.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:j.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[e]}))}},Cl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Al={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_Altitude+j.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETPRESSURE,"pressure()"],[j.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[j.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(j.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},fl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(j.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RFID").appendField(new j.FieldDropdown([[j.Msg.MIXLY_RFID_SCAN_OK,"True"],[j.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[j.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Fl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_GESTURE_ALL).appendField(new j.FieldDropdown([[j.Msg.ME_GO_PITCH,"[0]"],[j.Msg.ME_GO_ROLL,"[1]"],[j.Msg.ME_GO_PITCH+", "+j.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_shake,"shake"],[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"],[j.Msg.MIXLY_MICROBIT_face_up,"face up"],[j.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=j.Msg.MIXLY_MICROBIT_JS_CURRENT,n=j.Msg.MSG.catSensor,s=j.Msg.MIXLY_MICROBIT_JS_STATE,o=j.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:j.Msg.MIXLY_MICROBIT_shake,up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT,"face up":j.Msg.MIXLY_MICROBIT_face_up,"face down":j.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"1"],[j.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("acc"+j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_ADXL345_XA,"[0]"],[j.Msg.MIXLY_ADXL345_YA,"[1]"],[j.Msg.MIXLY_ACC_SHAKE,"[2]"],[j.Msg.MIXLY_ADXL345_XA+","+j.Msg.MIXLY_ADXL345_YA+","+j.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"[0]"],[j.Msg.MIXGO_LEFT_MID,"[1]"],[j.Msg.MIXGO_RIGHT_MID,"[2]"],[j.Msg.TEXT_TRIM_RIGHT,"[3]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},Zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[j.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[j.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXGO_LINE_SENSOR).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},iI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},nI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.ANALOG+j.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown(q.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},_I=Xa,uI=ya,rI=Va,pI=xa,aI=ul,lI=za,II=Na,dI=Fa,TI=Pa,hI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_EXTERN_SOUND),this.setInputsInline(!0),this.setOutput(!0)}},MI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},mI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_LIGHT_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},OI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GYROSCOPE_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},cI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_Horizontal_inclination,"X"],["y","[1]"],["z","[2]"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},EI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_BE_SHAKED),this.setInputsInline(!0),this.setOutput(!0)}},RI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_BUTTON).appendField(new j.FieldDropdown([["a","a"],["b","b"],["c","c"]]),"btn"),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},CI={init:function(){this.setColour(ba),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_INITIAL),this.setOutput(!0),this.setInputsInline(!0)}},AI={init:function(){this.setColour(ba),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ+j.Msg.MIXLY_COMMUNICATION_DATA_FROM),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_THE_COPROCESSOR_VERSION),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.ANALOG+j.Msg.MIXLY_LIGHT_SENSOR2).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"0"],[j.Msg.TEXT_TRIM_RIGHT,"1"]]),"key"),this.appendDummyInput().appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_SYSTEM_RAISE_VALUE),this.setOutput(!0),this.setInputsInline(!0)}},DI=40,NI={init:function(){this.setColour(DI),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(NI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[j.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const PI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},FI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},vI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},YI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},bI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},XI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},yI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},VI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},BI=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},GI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},UI=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},wI=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},kI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},xI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},HI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},WI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},JI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},jI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},zI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},ZI=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},$I=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ed=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},id=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},od=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ud=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rd=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},pd=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},ad=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},ld=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Id=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Td=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=e.valueToCode(this,"btn",e.ORDER_ATOMIC),s=this.getFieldValue("mode");return i+"."+n+".irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+s+")\n"},Md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.is_pressed()",e.ORDER_ATOMIC]},md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.was_pressed()",e.ORDER_ATOMIC]},Od=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=this.getFieldValue("mode");return i+".button.irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+n+")\n"},Ed=function(t,e){return e.definitions_.import_sonar="import sonar",["sonar.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+").checkdist()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Cd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ad=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ld=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Sd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},fd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps_nl()",e.ORDER_ATOMIC]},Nd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".infrared_"+this.getFieldValue("direction")+"()",e.ORDER_ATOMIC]},Pd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps()",e.ORDER_ATOMIC]},Fd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".ps_nl()",e.ORDER_ATOMIC]},vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als()",e.ORDER_ATOMIC]},Yd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.color()",e.ORDER_ATOMIC]},bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".als_vis()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",e.ORDER_ATOMIC];if("mixgo_ce"==i)return e.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",e.ORDER_ATOMIC];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als_vis()",e.ORDER_ATOMIC]},Bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==i){e.definitions_["import_"+i+"_sound"]="from "+i+" import sound";var n="sound.loudness()"}else if("mixgo_zero"==i){e.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";n="sound_level()"}else if("mixgo_nova"==i){e.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";n="sound_level()"}else if("mixgo_soar"==i){e.definitions_.import_mixgo_soar_voice_sound_level="from mixgo_soar_voice import sound_level";n="sound_level()"}else{if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",e.ORDER_ATOMIC];if("mixgo_mini"==i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";n="onboard_bot.soundlevel()"}else{e.definitions_["import_"+i+"_onboard_sound"]="from "+i+" import onboard_sound";n="onboard_sound.read()"}}return[n,e.ORDER_ATOMIC]},Gd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_spl06_001="import spl06_001",e.definitions_.import_onboard_bps="onboard_bps = spl06_001.SPL06(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_bps"]="from "+i+" import onboard_bps",["onboard_bps."+n,e.ORDER_ATOMIC]},Ud=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_nova"==i||"mixgo_zero"==i?e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths":"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_shtc3="import shtc3",e.definitions_.import_onboard_ths="onboard_ths = shtc3.SHTC3(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths",["onboard_ths."+n+"()",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",e.ORDER_ATOMIC]},kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=i,s="onboard_rfid";return"mixgo_mini"===i?(n="mini_gx",s="ext_rfid"):"mixgo_me"===i?(n="me_g1",s="ext_rc522"):"mixgo_sant"===i&&(n="sant_gx",s="ext_rfid"),e.definitions_[`import_${n}_${s}`]=`from ${n} import ${s}`,[`${s}.read_card(0, x="id")`,e.ORDER_ATOMIC]},xd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.read_card(${n}, x="content")`,e.ORDER_ATOMIC]},Hd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,`${_}.write_card(${s}, ${n})\n`},Wd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,[`${_}.write_card(${s}, ${n})`,e.ORDER_ATOMIC]},Kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key"),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.scan_card() == ${n}`,e.ORDER_ATOMIC]},Jd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("strength"==n){if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";var s="acc_gyr.strength()"}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.strength()"}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.strength()"}return[s,e.ORDER_ATOMIC]}if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";s="acc_gyr.accelerometer()"+n}else if("mpython"==i){e.definitions_.import_mpython_motion="from mpython import motion";s="motion.accelerometer()"+n}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.acceleration()"+n}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.acceleration()"+n}return[s,e.ORDER_ATOMIC]},Qd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},jd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},qd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"button",e.ORDER_ATOMIC);if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var s="onboard_bot.touched("+n+")"}else{e.definitions_["import_"+i]="import "+i;s=i+".touched("+n+")"}return[s,e.ORDER_ATOMIC]},Zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i||"mixgo_sowl"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var n="onboard_bot.touch_slide()"}else{e.definitions_["import_"+i]="import "+i;n=i+".touch_slide(3, 4)"}return[n,e.ORDER_ATOMIC]},$d=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},tT=function(t,e){return e.definitions_.import_mpython="import mpython",["mpython.touch_"+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},eT=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},nT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},oT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},_T=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},rT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},pT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},aT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},lT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},IT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},dT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",e.ORDER_ATOMIC]},TT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var i,n=this.getFieldValue("compass");return"strength"==n?i="onboard_compass.get_field_strength()":"heading"==n&&(i="onboard_compass.heading()"),[i,e.ORDER_ATOMIC]},hT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},MT=function(t,e){return e.definitions_.import_rtctime="import rtctime","rtctime.settime(("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+", 0, 0))\n"},mT=function(t,e){var i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_rtctime="import rtctime","rtctime.settime("+i+")\n"},OT=function(t,e){e.definitions_.import_time="import time";return["time.localtime()",e.ORDER_ATOMIC]},cT=function(t,e){return e.definitions_.import_time="import time",["time.mktime("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(t,e){return e.definitions_.import_time="import time",["time.localtime("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RT=function(t,e){e.definitions_.import_rtctime="import rtctime";return["rtctime.strtime()",e.ORDER_ATOMIC]},gT=function(t,e){return e.definitions_.import_rtctime="import rtctime",["rtctime.strtime("+e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==n)if(e.definitions_.import_mpython_magnetic="from mpython import magnetic","all"==i)var s="magnetic.getstrength()";else s="magnetic.getdata()"+i;else if("mixgo_mini"==n)if(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;else if(e.definitions_["import_"+n+"_onboard_mgs"]="from "+n+" import onboard_mgs","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;return[s,e.ORDER_ATOMIC]},AT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_.import_mpython_magnetic="from mpython import magnetic"}else"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return["onboard_mgs.getangle()",e.ORDER_ATOMIC]},LT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},ST=function(t,e){if("mixgo_mini"==q.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var i="onboard_temperature()"}else{e.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";i="onboard_acc.temperature()"}return[i,e.ORDER_ATOMIC]},fT=function(t,e){e.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",e.ORDER_ATOMIC]},DT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+i,e.ORDER_ATOMIC]},NT=function(t,e){return e.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",e.ORDER_ATOMIC]},PT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_adc"+n]="from "+i+" import adc"+n,["adc"+n+".read()",e.ORDER_ATOMIC]},FT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==i?(e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",e.ORDER_ATOMIC]):(e.definitions_["import_"+i+"_battery"]="from "+i+" import battery",["battery.voltage()",e.ORDER_ATOMIC])},vT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+i,e.ORDER_ATOMIC]},YT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+i,e.ORDER_ATOMIC]},bT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+i,e.ORDER_ATOMIC]},XT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+i+")\n"},yT=function(t,e){e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",e.ORDER_ATOMIC]},VT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol","patrol.correct(patrol.CORRECTING_"+i+")\n"},BT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol",["patrol.getdata()"+i,e.ORDER_ATOMIC]},GT=function(t,e){e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",e.ORDER_ATOMIC]},UT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";var s="onboard_imu.gyroscope()"+n}else{e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";s="acc_gyr.gyroscope()"+n}return[s,e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+e.valueToCode(this,"mode",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},xT=Id,HT=dd,WT=Td,KT=$d,JT=Pd,QT=Vd,jT=QT,qT=function(t,e){return e.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_educore_sound="from educore import sound";return["sound()",e.ORDER_ATOMIC]},ZT=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_educore_light="from educore import light";return["light()",e.ORDER_ATOMIC]},th=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer";return["accelerometer()",e.ORDER_ATOMIC]},eh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ih=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shake()",e.ORDER_ATOMIC]},nh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",["button(button."+this.getFieldValue("btn")+")",e.ORDER_ATOMIC]},sh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".status()",e.ORDER_ATOMIC]},oh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",["rfid("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_h=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scanning()",e.ORDER_ATOMIC]},uh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";return["onboard_bot.version()",e.ORDER_ATOMIC]},ph=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot",["onboard_bot.brightness("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},ah='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lh}=q,{XML:Ih}=(lh.render(ah,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:dh}=(Ih.render(ah,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),Th=(dh.render(ah,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new j.Generator("Python"));Th.INDENT=" ",Th.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Th.ORDER_ATOMIC=0,Th.ORDER_COLLECTION=1,Th.ORDER_STRING_CONVERSION=1,Th.ORDER_UNARY_POSTFIX=1,Th.ORDER_UNARY_PREFIX=2,Th.ORDER_MEMBER=2.1,Th.ORDER_FUNCTION_CALL=2.2,Th.ORDER_EXPONENTIATION=3,Th.ORDER_UNARY_SIGN=4,Th.ORDER_BITWISE_NOT=4,Th.ORDER_MULTIPLICATIVE=5,Th.ORDER_ADDITIVE=6,Th.ORDER_BITWISE_SHIFT=7,Th.ORDER_BITWISE_AND=8,Th.ORDER_BITWISE_XOR=9,Th.ORDER_BITWISE_OR=10,Th.ORDER_RELATIONAL=11,Th.ORDER_EQUALITY=11,Th.ORDER_LOGICAL_NOT=12,Th.ORDER_LOGICAL_AND=13,Th.ORDER_LOGICAL_OR=14,Th.ORDER_ASSIGNMENT=14,Th.ORDER_CONDITIONAL=15,Th.ORDER_LAMBDA=16,Th.ORDER_NONE=99,Th.ORDER_OVERRIDES=[[Th.ORDER_FUNCTION_CALL,Th.ORDER_MEMBER],[Th.ORDER_FUNCTION_CALL,Th.ORDER_FUNCTION_CALL],[Th.ORDER_MEMBER,Th.ORDER_MEMBER],[Th.ORDER_MEMBER,Th.ORDER_FUNCTION_CALL]],Th.init=function(){Th.PASS=this.INDENT+"pass\n",Th.definitions_=Object.create(null),Th.functionNames_=Object.create(null),Th.setups_=Object.create(null),Th.loops_=Object.create(null),Th.codeEnd_=Object.create(null),Th.variableDB_?Th.variableDB_.reset():Th.variableDB_=new tt(Th.RESERVED_WORDS_)},Th.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in Th.functions_)_.push(Th.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in Th.setups_)u.push(Th.setups_[s]);u.length&&u.push("\n");var r=[];for(var s in Th.loops_)r.push(Th.loops_[s]);var p=[];for(var s in Th.codeEnd_)p.push(Th.codeEnd_[s]);0!==p.length&&p.push("\n");let a="";return a=r.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n"),a},Th.scrubNakedValue=function(t){return t+"\n"},Th.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Th.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Th.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,Th.COMMENT_WRAP-3),n+=Th.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const hh={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};hh["BBC micro:bit"]=hh.microbit;const Mh=hh,mh=100,Oh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Eh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(j.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(j.Msg.MIXLY_MILLIS).appendField(j.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new j.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},gh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_notes1)}},Ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ah={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:j.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_music)}},Lh={init:function(){this.setColour(mh),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_NOTONE).appendField(j.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_NOTONE)}},Sh={init:function(){this.jsonInit({colour:mh,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:j.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Get_current_tempo)}},fh={init:function(){this.setColour(mh),this.appendValueInput("TICKS").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(j.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Dh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=j.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Nh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ph={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MICROBIT_SPEECH_translation)}},Yh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_SERVO).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},bh={init:function(){this.appendValueInput("speed").setCheck(null).appendField(j.Msg.MIXLY_MOTOR).appendField(new j.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(j.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new j.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(mh),this.setTooltip(""),this.setHelpUrl("")}},Xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RGB_PIN_COUNT)}},yh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_RGB_NUM_R_G_B)}},Vh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_ESP32_MUSIC_WRI)}},Gh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+" "+j.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(j.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(j.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Uh=[[j.Msg.MIXLY_MP3_PLAY,"play"],[j.Msg.MIXLY_MP3_PAUSE,"pause"],[j.Msg.MIXLY_MP3_NEXT,"next_track"],[j.Msg.MIXLY_MP3_PREV,"prev_track"],[j.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[j.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Uh),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var kh=[[j.Msg.MIXLY_MP3_LOOP_ALL,"0"],[j.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[j.Msg.MIXLY_MP3_LOOP_ONE,"2"],[j.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_LOOP_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(kh),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Hh=[[j.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[j.Msg.MIXLY_MP3_EQ_POP,"1"],[j.Msg.MIXLY_MP3_EQ_ROCK,"2"],[j.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[j.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[j.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_EQ_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Hh),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Kh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(j.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Jh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Qh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(j.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},jh=140,qh={init:function(){this.setColour(225),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[j.Msg.HTML_RESET,"reset"]]),"type").appendField(j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:j.Blockly.Msg.HTML_RESET}[e]+i}))}},zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:j.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:j.Msg.MIXLY_MICROBIT_Switch_off_radio})}},$h={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:j.Msg.MIXLY_MICROBIT_Configure_radio1,message0:j.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},tM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:j.Msg.MIXLY_MICROBIT_Reset_radio})}},eM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:j.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},iM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"send"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Send_message1)}},nM={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:j.Msg.MIXLY_MICROBIT_Receive_message,message0:j.Msg.MIXLY_MICROBIT_Receive_message})}},sM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"receive"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[j.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Receive_message)}},oM={init:function(){this.setColour(jh),this.appendValueInput("RX",Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},uM={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},rM={init:function(){this.jsonInit({colour:jh,nextStatement:null,previousStatement:null,message0:j.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},pM={init:function(){this.setColour(jh),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},aM=180,lM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:j.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(j.Msg.MIXLY_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS1)}},dM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(j.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS2)}},TM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},hM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(j.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(aM),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(j.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.OLED_BITMAP)}},OM={init:function(){this.jsonInit({colour:aM,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:j.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},cM={init:function(){this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:j.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+j.Msg.MIXLY_MICROBIT_Animate_images1)}},EM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:j.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},RM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:j.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[j.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(j.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=j.Msg.MIXLY_MICROBIT_monitor;return{on:j.Msg.MIXLY_MICROBIT_Turn_on_display,off:j.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},CM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:j.Msg.MIXLY_MICROBIT_Turn_off_display})}},AM={init:function(){this.jsonInit({colour:aM,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:j.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Display_is_on1)}},LM={init:function(){this.jsonInit({colour:aM,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:j.Msg.MIXLY_MICROBIT_Built_in_image1,message0:j.Msg.MIXLY_MICROBIT_Built_in_image})}},SM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:j.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Copy_image1)}},fM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:j.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Invert_image1)}},DM={init:function(){this.jsonInit({colour:aM,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:j.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)}},NM={init:function(){var t=[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[t]+s}))}},PM={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},FM={init:function(){this.setColour(aM),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},vM={init:function(){this.setColour(aM),this.appendValueInput("device").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_SETUP).appendField(j.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SETUP+j.Msg.MIXLY_DF_LCD+j.Msg.MIXLY_LCD_ADDRESS)}},YM={init:function(){this.setColour(aM),this.appendValueInput("row",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},bM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ON,"on()"],[j.Msg.MIXLY_OFF,"off()"],[j.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[j.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_DF_LCD+{"on()":j.Msg.MIXLY_ON,"off()":j.Msg.MIXLY_OFF,"clear()":j.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":j.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},XM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD+" OLED "+j.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(j.inputs.Align.RIGHT).appendField("(128*64) "+j.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(aM),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yM={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[t]}))}},VM={init:function(){this.setColour(aM),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:j.Msg.MIXLY_LCD_STAT_CLEAR,1:j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return j.Msg.MIXLY_DF_LCD+i[e]}))}},BM="#777777",GM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField(new j.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},vE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},YE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},bE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},XE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},yE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},VE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},GE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},UE=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},kE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},xE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},HE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},WE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},KE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},JE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},QE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},jE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},qE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},zE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},ZE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},$E=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},tR=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},eR=function(){return"control.reset()\n"},iR=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},nR=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},sR=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},oR=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},_R=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pR=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},aR=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},lR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},IR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},dR=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},TR=function(){return"while True:\n pass\n"},hR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},MR=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Tp),j.Python=hp,j.generator=hp,q.Profile.default={},Object.assign(q.Profile,Mh),Object.assign(q.Profile.default,Mh.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,r,p,a,l,I,d,f,D,F,v,Y,b,X,y,V,B,G),Object.assign(j.Python.forBlock,T,h,M,m,O,c,E,R,g,C,A,L,S,N,P,U,w,k,x,H,W,K,J,Q)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/index.xml b/boards/default/micropython_robot/index.xml index 5ec597d0..9796c1fa 100644 --- a/boards/default/micropython_robot/index.xml +++ b/boards/default/micropython_robot/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_robot/main.bundle.27de60aa.js b/boards/default/micropython_robot/main.bundle.340130b0.js similarity index 82% rename from boards/default/micropython_robot/main.bundle.27de60aa.js rename to boards/default/micropython_robot/main.bundle.340130b0.js index 720987dc..20e14aaa 100644 --- a/boards/default/micropython_robot/main.bundle.27de60aa.js +++ b/boards/default/micropython_robot/main.bundle.340130b0.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ht{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(ft),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(ft),this.appendValueInput("LIST").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(lt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new lt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(lt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(ft);var t=new lt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Gt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ut={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};xt.OPERATORS=[[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Bt.OPERATORS=[[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:lt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ft,tooltip:lt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:lt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},qt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_STAT),this.setOutput(!0)}},zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(lt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new lt.FieldDropdown([[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},te={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ee={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ie={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_GET_UNIQUE_IDEN)}},ne={init:function(){this.setColour(ft),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(lt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},se={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},oe=230;lt.FieldTextInput.math_number_validator=function(t){return String(t)},lt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const _e={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new lt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:lt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:lt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:lt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:lt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:lt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:lt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:lt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[lt.Msg.MATH_BIN,"bin"],[lt.Msg.MATH_OCT,"oct"],[lt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:lt.Msg.MATH_DEC_TOOLTIP_BIN,oct:lt.Msg.MATH_DEC_TOOLTIP_OCT,hex:lt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[lt.Msg.LANG_MATH_TO_ROUND,"round"],[lt.Msg.LANG_MATH_TO_CEIL,"ceil"],[lt.Msg.LANG_MATH_TO_FLOOR,"floor"],[lt.Msg.MATH_ABS,"fabs"],[lt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:lt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:lt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:lt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:lt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:lt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:lt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[lt.Msg.MIXLY_MAX,"max"],[lt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(lt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:lt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:lt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[lt.Msg.MATH_TWO,"two"],[lt.Msg.MATH_EIGHT,"eight"],[lt.Msg.MATH_TEN,"ten"],[lt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(lt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new lt.FieldDropdown(t),"OP").appendField(lt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MATH_ZHW).appendField(new lt.FieldDropdown(t),"OP2").appendField(lt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:lt.Msg.MATH_Before_two,eight:lt.Msg.MATH_Before_eight,ten:lt.Msg.MATH_Before_ten,sixteen:lt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:lt.Msg.MATH_Behind_two,eight:lt.Msg.MATH_Behind_eight,ten:lt.Msg.MATH_Behind_ten,sixteen:lt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},me={init:function(){var t=[[lt.Msg.LANG_MATH_INT,"int"],[lt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new lt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:lt.Msg.LANG_MATH_INT,float:lt.Msg.LANG_MATH_FLOAT_RANDOM};return lt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(lt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(lt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(lt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Re={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},ce={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(lt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ge={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MATH_ROUND).appendField(lt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(lt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ce={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"],[lt.Msg.MIXLY_TO_BITES,"b"],[lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:lt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Se={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:lt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ae=Oe,Le={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ne={init:function(){this.setColour(oe),this.itemCount_=1,this.setMutator(new lt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(lt.Msg.MIXLY_PRODUCT+lt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(lt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(lt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Xe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new lt.FieldTextInput("",lt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(lt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new lt.FieldImage(e,7,12,'"')}},be={init:function(){this.setColour(Fe),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(lt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ye={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String).appendField(lt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Be={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ge={init:function(){this.WHERE_OPTIONS=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.TEXT_GET_INDEX_RANDOM+1+lt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.LISTS_GET_INDEX_GET,"MODE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(lt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+lt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",lt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:lt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:lt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:lt.Msg.TEXT_GET_INDEX_RANDOM};return lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+lt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==lt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new lt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ue={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.LISTS_GET_INDEX_FROM_START+"n"+lt.Msg.TEXT_CHARAT2)}},we={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(lt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(lt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},He={init:function(){this.WHERE_OPTIONS_1=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[lt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==lt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new lt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ke={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(lt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},We={init:function(){var t=[[lt.Msg.MIXLY_EQUALS,"==="],[lt.Msg.MIXLY_STARTSWITH,"startswith"],[lt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new lt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ke={init:function(){this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[lt.Msg.TEXT_UPPER,"upper"],[lt.Msg.TEXT_TITLE,"title"],[lt.Msg.TEXT_CAPITALIZE,"capitalize"],[lt.Msg.TEXT_SWAPCASE,"swapcase"],[lt.Msg.TEXT_LOWER,"lower"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:lt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:lt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:lt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:lt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:lt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Qe={init:function(){var t=[[lt.Msg.TEXT_LJUST,"ljust"],[lt.Msg.TEXT_CENTER,"center"],[lt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(lt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(lt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},qe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(lt.Msg.MIXLY_MID+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(lt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ze={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},je={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(lt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},$e={init:function(){this.setColour(Fe),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(lt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(lt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ze={init:function(){var t=[[lt.Msg.TEXT_TRIM_BOTH,"strip"],[lt.Msg.TEXT_TRIM_LEFT,"lstrip"],[lt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Fe),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(lt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:lt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:lt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:lt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ti={init:function(){this.setColour(Fe),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new lt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zi={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ji={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_KEYS),this.setTooltip(lt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_TOOLTIP)}},tn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},en={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},nn={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_DELETE_TOOLTIP)}},sn={init:function(){this.setColour(Qi),this.appendValueInput("DICT2").setCheck("Dict").appendField(lt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(lt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MID),this.setTooltip(lt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_CLEAR),this.setTooltip(lt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_n={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_ITEMS),this.setTooltip(lt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},pn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_VALUES),this.setTooltip(lt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LENGTH),this.setTooltip(lt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},un={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_DELDICT),this.setTooltip(lt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rn={init:function(){this.MODE=[[lt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[lt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(lt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=lt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=lt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new lt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},dn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setTooltip(lt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ln={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},In={init:function(){this.setColour(Qi),this.appendDummyInput("").appendField(new lt.FieldLabel(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new lt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Tn={init:function(){this.setColour(Qi),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},hn={init:function(){this.setColour(Qi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On=210,Rn={init:function(){var t=lt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:lt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:lt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},cn={init:function(){var t=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new lt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},gn={init:function(){var t=[[lt.Msg.LOGIC_OPERATION_AND,"AND"],[lt.Msg.LOGIC_OPERATION_OR,"OR"],[lt.Msg.LOGIC_OPERATION_NOR,"NOR"],[lt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:lt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:lt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Cn={init:function(){this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(lt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(lt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[lt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[lt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new lt.FieldDropdown(t),"BOOL"),this.setTooltip(lt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},An={init:function(){this.setColour(On),this.setOutput(!0),this.appendDummyInput().appendField(lt.Msg.LOGIC_NULL),this.setTooltip(lt.Msg.LOGIC_NULL_TOOLTIP)}},Ln={init:function(){this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(lt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(lt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Nn={init:function(){var t=[[lt.Msg.TEXT_APPEND_TO,"in"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new lt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(lt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.IN)}},Dn={init:function(){var t=[[lt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},fn={init:function(){this.setColour(On),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Fn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(lt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[lt.Msg.MIXLY_ADD,"a"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_ADD,"ab"],[lt.Msg.MIXLY_R_W,"r+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_R_W,"rb+"],[lt.Msg.MIXLY_W_R,"w+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_W_R,"wb+"],[lt.Msg.MIXLY_A_R,"a+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXPY_TEXT_ENCODE).appendField(new lt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MICROBIT_PYTHON_TYPE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.HTML_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+lt.Msg.MIXLY_ESP32_SET+{mkdir:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(lt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.HTML_FILE,"isfile"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},jn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(lt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(lt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Zn={init:function(){var t=lt.Procedures.findLegalName("",this),e=new lt.FieldTextInput(t,lt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new lt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&<.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(lt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(lt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(lt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(lt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=lt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),lt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{lt.Events.enable()}},mutationToDom:function(t){var e=lt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_FORM_CONTENT).appendField(new lt.FieldDropdown([[lt.Msg.HTML_TEXT,"text"],[lt.Msg.HTML_EMAIL,"email"],[lt.Msg.HTML_NUMBER,"number"],[lt.Msg.HTML_PASSWORD,"password"],[lt.Msg.HTML_CHECKBOX,"checkbox"],[lt.Msg.HTML_RADIOBUTTON,"radiobutton"],[lt.Msg.HTML_BUTTON,"button"],[lt.Msg.HTML_COLOUR,"colour"],[lt.Msg.HTML_DATE,"date"],[lt.Msg.HTML_LOCALTIME,"local time"],[lt.Msg.HTML_FILE,"file"],[lt.Msg.HTML_HIDDEN,"hidden"],[lt.Msg.HTML_IMAGE,"image"],[lt.Msg.HTML_MONTH,"month"],[lt.Msg.HTML_RANGE,"range"],[lt.Msg.HTML_RESET,"reset"],[lt.Msg.HTML_SEARCH,"search"],[lt.Msg.HTML_SUBMIT,"submit"],[lt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[lt.Msg.HTML_TIME,"time"],[lt.Msg.HTML_URL,"url"],[lt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(lt.Msg.HTML_NAME).appendField(new lt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(lt.Msg.HTML_VALUE).appendField(new lt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_TEXT).appendField(new lt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs=160,to={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new lt.FieldTable(""),"TEXT")}},eo={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT")}},io={init:function(){this.setColour(Zs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},no={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},so={init:function(){this.setColour(Zs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new lt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},oo={init:function(){this.setColour(Zs),this.appendValueInput("VALUE").appendField(lt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},_o={init:function(){this.setColour(Zs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(lt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=lt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},lt.isNumber(n)&<.isNumber(s)&<.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ia=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},na=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},sa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},oa=function(t,e){return["None",e.ORDER_ATOMIC]},_a=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},pa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},la=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ia=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ha=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ma=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ra=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ga=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},La=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Fa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Pa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),lt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},hu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ou=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ru=function(t,e){return'"},cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},gu=function(){return this.getFieldValue("TEXT")+"\n"},Cu=function(t){return t.getFieldValue("TEXT")+"\n"},Su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Au=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Lu=function(){return""},Nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Du=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},vu.scrubNakedValue=function(t){return t+"\n"},vu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},vu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},vu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,vu.COMMENT_WRAP-3),n+=vu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Yu="#74A55B",Xu={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},yu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},xu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Vu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Gu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Uu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},wu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(lt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Wu={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ju={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Qu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},zu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField("360°"+lt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETTING+lt.Msg.blockpy_turtle_rotate+lt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},ju={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Zu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new lt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(lt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[lt.Msg.MOTOR_N,"ms32006.MOT_N"],[lt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},nr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new lt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},sr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},or={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},_r={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},pr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ar={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ur={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new lt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["SYN6288"+lt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+lt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_WHETHER).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_STOPPED,"0"],[lt.Msg.MIXLY_PLAYING,"1"],[lt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},lr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_PLAY,"1"],[lt.Msg.MIXLY_MP3_PAUSE,"2"],[lt.Msg.MIXLY_STOP,"3"],[lt.Msg.MIXLY_MP3_PREV,"4"],[lt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(lt.Msg.MIXLY_MP3_VOL+lt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Tr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE+lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[lt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[lt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[lt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[lt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[lt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[lt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},hr={},mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Or={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Rr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},gr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Cr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LISTS_SET_INDEX_SET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[lt.Msg.MIXLY_SPEED,"[1]"],[lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[lt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[lt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[lt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Pr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},br={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SERVO+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MOTOR+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr="#6C9858",Hr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},kr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_ON,"1"],[lt.Msg.MIXLY_ESP32_OFF,"0"],[lt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Wr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},Jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LIGHT_RED,"1"],[lt.Msg.MIXLY_LIGHT_GREEN,"2"],[lt.Msg.MIXLY_LIGHT_BLUE,"3"],[lt.Msg.MIXLY_LIGHT_YELLOW,"4"],[lt.Msg.MIXLY_LIGHT_CYAN,"5"],[lt.Msg.MIXLY_LIGHT_PURPLE,"6"],[lt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},$r={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},td={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},id={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},nd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},sd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},_d={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},pd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ad={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ud={init:function(){this.setColour(wr),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Id={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Td={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hd={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},md={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(wr),this.appendDummyInput().appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Sd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"1"],[lt.Msg.TEXT_TRIM_RIGHT,"2"],[lt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"0"],[lt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},vd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_RECORD_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.MIXLY_ALL+lt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},wd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Hd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(lt.Msg.MIXLY_RELEASE).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT)}},kd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SPECIAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[lt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[lt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[lt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[lt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[lt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[lt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[lt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[lt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Wd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GENERAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Kd={init:function(){this.setColour(wr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new lt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(lt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},yh={init:function(){this.jsonInit({colour:Ah,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:lt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:lt.Msg.MIXLY_MICROBIT_Built_in_image})}},xh={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Vh={init:function(){this.setColour(Ah),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(Vh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"add"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Bh={init:function(){this.setColour(Ah),this.appendValueInput("A").setCheck("esp32_image").appendField(lt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Gh={init:function(){this.setColour(Ah),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Gh.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:lt.Msg.MIXLY_UP,shift_down:lt.Msg.MIXLY_DOWN,shift_left:lt.Msg.MIXLY_LEFT,shift_right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"shift_up"],[lt.Msg.MIXLY_DOWN,"shift_down"],[lt.Msg.MIXLY_LEFT,"shift_left"],[lt.Msg.MIXLY_RIGHT,"shift_right"]]},Uh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},kh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Clear_display)}},Kh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_SHOW+lt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Zh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.OLED_SET_FONT).appendField(new lt.FieldDropdown(Zh.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+lt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},tm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},em={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Ah),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(lt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_m={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},pm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},am={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.mpython_display_hline_1,"1"],[lt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(rm.IMAGES),"path"),this.setColour(Ah),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},dm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(lm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Im={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Tm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Mm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new lt.FieldDropdown(hm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[lt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[lt.Msg.CLOCKWISE+"90"+lt.Msg.blockpy_setheading_degree,"1"],[lt.Msg.CLOCKWISE+"180"+lt.Msg.blockpy_setheading_degree,"2"],[lt.Msg.CLOCKWISE+"270"+lt.Msg.blockpy_setheading_degree,"3"]]},mm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Em={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Em.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(lt.Msg.MIXLY_AipImageClassify_Image+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Sm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.jsonInit({colour:Ah,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Nm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Dm={init:function(){this.setColour(Ah),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(lt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(lt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(lt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(lt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},bm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},xm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vm={init:function(){this.setColour(Ah),this.appendValueInput("direct").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ERROR_RATE).appendField(new lt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Um={init:function(){Dh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){vh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Gh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Hh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm=180,Qm={init:function(){this.setColour(Jm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(lt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Qm.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"]]},qm={init:function(){this.setColour(Jm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(qm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"+"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},zm={init:function(){this.setColour(Jm),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new lt.FieldDropdown(zm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE+{height:lt.Msg.MIXLY_HEIGHT,width:lt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[lt.Msg.MIXLY_HEIGHT,"height"],[lt.Msg.MIXLY_WIDTH,"width"]]},jm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RECT).appendField(new lt.FieldDropdown(jm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_OLED_RECT)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},$m={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new lt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new lt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE="#777777",eE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("from ").appendField(new lt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new lt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("import ").appendField(new lt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField(new lt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},WE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PROJECT).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},qE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.appendDummyInput().appendField(lt.Msg.MIXLY_Service_quality_display).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_AT_MOST_ONCE,"0"],[lt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},zE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},jE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$E={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},eO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},iO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},nO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},sO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},oO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(lt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},_O={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+lt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aO={init:function(){this.VISITOR_ID=It.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(xE),this.appendDummyInput("").appendField(new lt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},uO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},rO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(lt.Msg.MIXLY_REQUESTS_GET).appendField(lt.Msg.MIXLY_GET_CURRENT_TIME).appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(lt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(lt.Msg.MQTT_Topic).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO=VE,MO=BE,hO=GE,mO=UE,EO=HE,OO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO=OO,cO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},SO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("Ollama "+lt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(lt.inputs.Align.RIGHT).appendField(`MixIO ${lt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO=225,YO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(lt.Msg.MIXLY_NETWORK_MODE).appendField(new lt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},XO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[lt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=lt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:lt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:lt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},bO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},yO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:lt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},xO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},VO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_CONNECT+lt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},BO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[lt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:lt.Msg.MIXLY_ESP32_NETWORK_IP,1:lt.Msg.MIXLY_ESP32_NETWORK_MASK,2:lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},GO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},UO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},wO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(lt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},HO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},kO={init:function(){this.setColour(vO),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new lt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},WO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},KO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},JO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},QO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},qO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},zO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},jO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},$O={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},ZO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},tR={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},eR={init:function(){this.setColour(vO),this.appendValueInput("DOMAIN").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS_GET).appendField(new lt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},iR={init:function(){this.appendValueInput("VAL"),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(iR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:lt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:lt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:lt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},nR={init:function(){this.appendValueInput("VAR").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown(nR.METHOD),"DIR"),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:lt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:lt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},sR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(lt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},oR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(new lt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},_R="#3288dd",pR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS).appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},aR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(lt.Msg.blockpy_REQUESTS+lt.Msg.OLED_STRING),this.appendDummyInput("").appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},uR={init:function(){this.appendValueInput("VAL"),this.setColour(_R),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(uR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[lt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},rR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(lt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},dR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(lt.Msg.MIXLY_EMQX_PORT).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(_R),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(lt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"+lt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},hR="#A58C5B",mR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_IS_PRESSED)}},ER={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_WAS_PRESSED)}},OR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_BUTTON+lt.Msg.MIXLY_GET_PRESSES)}},RR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[lt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[lt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},cR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"],[lt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down,freefall:lt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},gR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},CR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},SR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(new lt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new lt.FieldDropdown(SR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},AR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},LR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},NR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"left"],[lt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(lt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=lt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=lt.Msg.MIXLY_ESP32_NEAR;return i+{left:lt.Msg.TEXT_TRIM_LEFT,right:lt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},DR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[lt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},fR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[lt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},FR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},PR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField("LM35"+lt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LM35)}},vR={init:function(){this.setColour(hR),this.appendValueInput("I2CSUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[lt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[lt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[lt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[lt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[lt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[lt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[lt.Msg.HTML_COLOUR+"、"+lt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+lt.Msg.MIXLY_NEXT+"、"+lt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[lt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[lt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[lt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[lt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[lt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},YR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},XR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},bR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},yR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},xR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[lt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[lt.Msg.MIXLY_THE_FIRST,"3"],[lt.Msg.MIXLY_THE_SECOND,"4"],[lt.Msg.MIXLY_THE_THIRD,"5"],[lt.Msg.MIXLY_THE_FOURTH,"6"],[lt.Msg.MIXLY_THE_FIFTH,"7"],[lt.Msg.MIXLY_THE_SIXTH,"8"],[lt.Msg.MIXLY_THE_SEVENTH,"9"],[lt.Msg.MIXLY_THE_EIGHTH,"10"],[lt.Msg.MIXLY_THE_NINTH,"11"],[lt.Msg.MIXLY_THE_TENTH,"12"],[lt.Msg.MIXLY_THE_ELEVENTH,"13"],[lt.Msg.MIXLY_THE_TWELFTH,"14"],[lt.Msg.MIXLY_THE_13TH,"15"],[lt.Msg.MIXLY_THE_14TH,"16"],[lt.Msg.MIXLY_THE_15TH,"17"],[lt.Msg.MIXLY_THE_16TH,"18"],[lt.Msg.MIXLY_THE_17TH,"19"],[lt.Msg.MIXLY_THE_18TH,"20"],[lt.Msg.MIXLY_THE_19TH,"21"],[lt.Msg.MIXLY_THE_20TH,"22"],[lt.Msg.MIXLY_Turn_on_the_lights,"23"],[lt.Msg.MIXLY_Turn_off_the_lights,"24"],[lt.Msg.MIXLY_Turn_up_the_brightness,"25"],[lt.Msg.MIXLY_Turn_down_the_brightness,"26"],[lt.Msg.MIXLY_Set_it_to_red,"27"],[lt.Msg.MIXLY_Set_it_to_orange,"28"],[lt.Msg.MIXLY_Set_it_to_yellow,"29"],[lt.Msg.MIXLY_Set_it_to_green,"30"],[lt.Msg.MIXLY_Set_it_to_cyan,"31"],[lt.Msg.MIXLY_Set_it_to_blue,"32"],[lt.Msg.MIXLY_Set_it_to_purple,"33"],[lt.Msg.MIXLY_Set_it_to_white,"34"],[lt.Msg.MIXLY_Turn_on_the_fan,"35"],[lt.Msg.MIXLY_Turn_off_the_fan,"36"],[lt.Msg.MIXLY_First_gear,"37"],[lt.Msg.MIXLY_Wind_speed_second,"38"],[lt.Msg.MIXLY_Third_gear,"39"],[lt.Msg.MIXLY_Previous,"40"],[lt.Msg.MIXLY_Next_page,"41"],[lt.Msg.MIXLY_Show_smiley_face,"42"],[lt.Msg.MIXLY_Show_crying_face,"43"],[lt.Msg.MIXLY_Show_love,"44"],[lt.Msg.MIXLY_Close_display,"45"],[lt.Msg.MIXLY_Start_execution,"46"],[lt.Msg.MIXLY_FORWARD,"47"],[lt.Msg.MIXLY_BACKWARD,"48"],[lt.Msg.MIXLY_TURNLEFT,"49"],[lt.Msg.MIXLY_TURNRIGHT,"50"],[lt.Msg.MIXLY_STOP,"51"],[lt.Msg.MIXLY_Accelerate,"52"],[lt.Msg.MIXLY_retard,"53"],[lt.Msg.ROTATION_FORWARD,"54"],[lt.Msg.ROTATION_BACKWARD,"55"],[lt.Msg.MIXLY_Query_temperature,"56"],[lt.Msg.MIXLY_Query_humidity,"57"],[lt.Msg.MIXLY_Query_brightness,"58"],[lt.Msg.MIXLY_Query_sound,"59"],[lt.Msg.MIXLY_Query_time,"60"],[lt.Msg.MIXLY_Query_distance,"61"],[lt.Msg.MIXLY_Query_pressure,"62"],[lt.Msg.MIXLY_Query_key,"63"],[lt.Msg.MIXLY_Query_touch,"64"],[lt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(lt.Msg.MIXLY_WHETHER+lt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},BR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[lt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[lt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},GR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MP3_PLAY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_WIND_SPEED,"154"],[lt.Msg.MIXLY_HYETAL,"155"],[lt.Msg.MIXLY_TEMPERATURE,"156"],[lt.Msg.MIXLY_Humidity,"157"],[lt.Msg.MIXLY_Altitude,"158"],[lt.Msg.MIXLY_SOUND,"159"],[lt.Msg.MIXLY_BRIGHTNESS,"160"],[lt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[lt.Msg.MIXLY_SERVO,"162"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[lt.Msg.MIXLY_BUTTON2,"164"],[lt.Msg.MIXLY_ESP32_TOUCH,"165"],[lt.Msg.MIXLY_PAY,"166"],[lt.Msg.MIXLY_CARSH_CHANGE,"167"],[lt.Msg.MIXLY_COUNTDOWN,"168"],[lt.Msg.MIXLY_TIMING,"169"],[lt.Msg.MIXLY_AT_THE_MOMENT,"170"],[lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[lt.Msg.MIXLY_FORWARD,"172"],[lt.Msg.MIXLY_BACKWARD,"173"],[lt.Msg.MIXLY_TURNLEFT,"174"],[lt.Msg.MIXLY_TURNRIGHT,"175"],[lt.Msg.MIXLY_STOP,"176"],[lt.Msg.MIXLY_Accelerate,"177"],[lt.Msg.MIXLY_retard,"178"],[lt.Msg.ROTATION_FORWARD,"179"],[lt.Msg.ROTATION_BACKWARD,"180"],[lt.Msg.TUPLE_JOIN,"181"],[lt.Msg.MIXLY_SHOW,"182"],[lt.Msg.MIXLY_LAMPLIGHT,"183"],[lt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(lt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_UNIT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_YEAR,"117"],[lt.Msg.MIXLY_MONTH,"118"],[lt.Msg.MIXLY_DAY,"119"],[lt.Msg.MIXLY_HOUR,"120"],[lt.Msg.MIXLY_MINUTE,"121"],[lt.Msg.MIXLY_SECOND,"122"],[lt.Msg.MIXLY_WEEK2,"123"],[lt.Msg.MIXLY_RMB_UNIT,"124"],[lt.Msg.blockpy_setheading_degree,"125"],[lt.Msg.MIXLY_GEAR,"126"],[lt.Msg.MIXLY_LAYER,"127"],[lt.Msg.MIXLY_GRAM,"128"],[lt.Msg.MIXLY_METER,"129"],[lt.Msg.MIXLY_CENTIMETER,"130"],[lt.Msg.MIXLY_MILLIMETER,"131"],[lt.Msg.MIXLY_LUMEN,"132"],[lt.Msg.MIXLY_DECIBEL,"133"],[lt.Msg.MIXLY_hectopascal,"134"],[lt.Msg.MIXLY_PERCENT,"135"],[lt.Msg.MIXLY_CELSIUS,"136"],[lt.Msg.MIXLY_METER_PER_SEC,"137"],[lt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[lt.Msg.MIXLY_SUCCESS,"140"],[lt.Msg.MIXLY_FAILED,"141"],[lt.Msg.MIXLY_WRONG,"142"],[lt.Msg.MIXLY_GOOD,"143"],[lt.Msg.MIXLY_blockpy_set_add,"144"],[lt.Msg.MIXLY_DECREASE,"145"],[lt.Msg.COLOUR_RGB_RED,"146"],[lt.Msg.COLOUR_RGB_ORANGE,"147"],[lt.Msg.COLOUR_YELLOW,"148"],[lt.Msg.COLOUR_RGB_GREEN,"149"],[lt.Msg.COLOUR_CYAN,"150"],[lt.Msg.COLOUR_RGB_BLUE,"151"],[lt.Msg.COLOUR_RGB_PURPLE,"152"],[lt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},UR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_SYSTEM+lt.Msg.MIXLY_CMD).appendField(new lt.FieldDropdown([[lt.Msg.MILXY_ENTER_WAKE_UP,"1"],[lt.Msg.MIXLY_INCREASE_VOLUME,"202"],[lt.Msg.MIXLY_REDUCE_VOLUME,"203"],[lt.Msg.MIXLY_MAX_VOLUME,"204"],[lt.Msg.MIXLY_MINIMUM,"205"],[lt.Msg.MIXLY_OPEN_RESPONSE,"206"],[lt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[lt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[lt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[lt.Msg.MIXLY_ESP32_MAX30102_IR+","+lt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[lt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[lt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},WR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+lt.Msg.HTML_COLOUR,"[2]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_IR_STRENGTH,"[1]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+"RGB"+lt.Msg.HTML_COLOUR,"0"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_RGB_RAW,"1"],[lt.Msg.MIXLY_GET_ENV_LIGHT+lt.Msg.MIXLY_BRIGHTNESS,"2"],[lt.Msg.GET_IR_STRENGTH+lt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[lt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},zR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},jR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$R={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MIXGOPE_FIELD+lt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[lt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},nc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET+lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_c={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},pc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_GETTEMPERATUE)}},ac={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},uc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},rc={init:function(){this.setColour(hR),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},dc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[lt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Tc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(lt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},hc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_SCAN_OK,"0"],[lt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[lt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Rc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},YF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},bF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},xF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},BF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},GF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},UF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},HF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},KF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},zF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},$F=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZF=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},tP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},eP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},iP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},nP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},sP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},oP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},pP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},aP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},uP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},rP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},dP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},lP=function(t,e){e.definitions_.import_st7789="import st7789";var i=It.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},IP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},TP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},MP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},hP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},mP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},EP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},OP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},RP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},cP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},gP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},CP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},SP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},AP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=It.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},LP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},DP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},FP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},bP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},xP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},VP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},BP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},GP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},UP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},wP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},HP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},kP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},WP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},KP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},JP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},QP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},qP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},jP=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Vv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Gv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Uv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},Hv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},$v=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},tY=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},eY=UP,iY=_v,nY=nv,sY=_v,oY=pv,_Y=ZP,pY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},aY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},uY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},RB=function(){return"control.reset()\n"},cB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},gB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},CB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},SB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},AB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},LB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},NB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},DB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},fB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},FB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},PB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},vB=function(){return"while True:\n pass\n"},YB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},XB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},bB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},yB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},xB=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},VB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},BB=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},GB=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},UB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},wB=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},HB=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},kB=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},WB=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},KB=GB,JB=UB,QB=BB,qB=bB,zB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$B=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZB=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},tG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},eG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},iG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},nG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},sG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},oG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},_G=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},pG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},aG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},uG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},rG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},dG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lG}=It,IG=lG.render(dG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:TG}=It,MG=TG.render(dG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:hG}=It,mG=hG.render(dG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),EG=new lt.Generator("Python");EG.INDENT=" ",EG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),EG.ORDER_ATOMIC=0,EG.ORDER_COLLECTION=1,EG.ORDER_STRING_CONVERSION=1,EG.ORDER_UNARY_POSTFIX=1,EG.ORDER_UNARY_PREFIX=2,EG.ORDER_MEMBER=2.1,EG.ORDER_FUNCTION_CALL=2.2,EG.ORDER_EXPONENTIATION=3,EG.ORDER_UNARY_SIGN=4,EG.ORDER_BITWISE_NOT=4,EG.ORDER_MULTIPLICATIVE=5,EG.ORDER_ADDITIVE=6,EG.ORDER_BITWISE_SHIFT=7,EG.ORDER_BITWISE_AND=8,EG.ORDER_BITWISE_XOR=9,EG.ORDER_BITWISE_OR=10,EG.ORDER_RELATIONAL=11,EG.ORDER_EQUALITY=11,EG.ORDER_LOGICAL_NOT=12,EG.ORDER_LOGICAL_AND=13,EG.ORDER_LOGICAL_OR=14,EG.ORDER_ASSIGNMENT=14,EG.ORDER_CONDITIONAL=15,EG.ORDER_LAMBDA=16,EG.ORDER_NONE=99,EG.ORDER_OVERRIDES=[[EG.ORDER_FUNCTION_CALL,EG.ORDER_MEMBER],[EG.ORDER_FUNCTION_CALL,EG.ORDER_FUNCTION_CALL],[EG.ORDER_MEMBER,EG.ORDER_MEMBER],[EG.ORDER_MEMBER,EG.ORDER_FUNCTION_CALL]],EG.init=function(){EG.PASS=this.INDENT+"pass\n",EG.definitions_=Object.create(null),EG.functionNames_=Object.create(null),EG.setups_=Object.create(null),EG.loops_=Object.create(null),EG.codeEnd_=Object.create(null),EG.variableDB_?EG.variableDB_.reset():EG.variableDB_=new mt(EG.RESERVED_WORDS_)},EG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in EG.functions_)_.push(EG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in EG.setups_)p.push(EG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in EG.loops_)a.push(EG.loops_[s]);var u=[];for(var s in EG.codeEnd_)u.push(EG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},EG.scrubNakedValue=function(t){return t+"\n"},EG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},EG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},EG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,EG.COMMENT_WRAP-3),n+=EG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const OG={};OG["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:It.Profile.generate(["0-11","18-21"]),input_pin:It.Profile.generate(["0-11","18-21"]),output_pin:It.Profile.generate(["0-11","18-21"]),pwm_input:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:It.Profile.generate(["0-5"],"adc","adc"),pwm_output:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:It.Profile.generate(["0-5"],"adc","adc"),espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),digital:It.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:It.Profile.generate(["0-11","18-21"]),pwm:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:It.Profile.generate(["0-5"]),analog:It.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-1"]),als_num:It.Profile.generate(["0-3"])},OG["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-3"])},OG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},OG["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const RG=OG,cG=230,gG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},fG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},vG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},YG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},XG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},bG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},VG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},BG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm),"PIN"),this.setOutput(!0)}},WG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch),"PIN"),this.setOutput(!0)}},QG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},qG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},zG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},jG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.imglist),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ZG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},tU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},oU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},rU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.one_more),"PIN"),this.setOutput(!0)}},dU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},lU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},IU=lU,TU=lU,MU=lU,hU=lU,mU=lU,EU=lU,OU=lU,RU=lU,cU=lU,gU=lU,CU=lU,SU=lU,AU=lU,LU=lU,NU=lU,DU=lU,fU=lU,FU=lU,PU=lU,vU=lU,YU=lU,XU=lU,bU=lU,yU=lU,xU=lU,VU=lU,BU=lU,GU=lU,UU=lU,wU=lU,HU=lU,kU=lU,WU=lU,KU=lU;Object.assign(lt.Variables,Mt),Object.assign(lt.Procedures,Pu),Object.assign(lt.Lang.ZhHans,pt),Object.assign(lt.Lang.ZhHant,at),Object.assign(lt.Lang.En,ut),lt.Python=vu,lt.generator=vu,It.Profile.default={},Object.assign(It.Profile,RG),Object.assign(It.Profile.default,RG["ESP32 Generic"]),Object.assign(lt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,y,w,U,v,x,H,f,G,B,V,F,D,N,X,Y,b,P,rt),Object.assign(lt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,Z,ot,st,q,tt,_t,K,nt,it,et,J,W,k,j,z,$,Q,dt)})(); \ No newline at end of file +class ht{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(ft),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(ft),this.appendValueInput("LIST").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(lt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new lt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(lt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(ft);var t=new lt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Gt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ut={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};xt.OPERATORS=[[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Bt.OPERATORS=[[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:lt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ft,tooltip:lt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:lt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},qt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_STAT),this.setOutput(!0)}},zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(lt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new lt.FieldDropdown([[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},te={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ee={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ie={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_GET_UNIQUE_IDEN)}},ne={init:function(){this.setColour(ft),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(lt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},se={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},oe=230;lt.FieldTextInput.math_number_validator=function(t){return String(t)},lt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const _e={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new lt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:lt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:lt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:lt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:lt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:lt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:lt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:lt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[lt.Msg.MATH_BIN,"bin"],[lt.Msg.MATH_OCT,"oct"],[lt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:lt.Msg.MATH_DEC_TOOLTIP_BIN,oct:lt.Msg.MATH_DEC_TOOLTIP_OCT,hex:lt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[lt.Msg.LANG_MATH_TO_ROUND,"round"],[lt.Msg.LANG_MATH_TO_CEIL,"ceil"],[lt.Msg.LANG_MATH_TO_FLOOR,"floor"],[lt.Msg.MATH_ABS,"fabs"],[lt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:lt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:lt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:lt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:lt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:lt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:lt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[lt.Msg.MIXLY_MAX,"max"],[lt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(lt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:lt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:lt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[lt.Msg.MATH_TWO,"two"],[lt.Msg.MATH_EIGHT,"eight"],[lt.Msg.MATH_TEN,"ten"],[lt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(lt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new lt.FieldDropdown(t),"OP").appendField(lt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MATH_ZHW).appendField(new lt.FieldDropdown(t),"OP2").appendField(lt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:lt.Msg.MATH_Before_two,eight:lt.Msg.MATH_Before_eight,ten:lt.Msg.MATH_Before_ten,sixteen:lt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:lt.Msg.MATH_Behind_two,eight:lt.Msg.MATH_Behind_eight,ten:lt.Msg.MATH_Behind_ten,sixteen:lt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},me={init:function(){var t=[[lt.Msg.LANG_MATH_INT,"int"],[lt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new lt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:lt.Msg.LANG_MATH_INT,float:lt.Msg.LANG_MATH_FLOAT_RANDOM};return lt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(lt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(lt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(lt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Re={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},ce={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(lt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ge={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MATH_ROUND).appendField(lt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(lt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ce={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"],[lt.Msg.MIXLY_TO_BITES,"b"],[lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:lt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Se={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:lt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ae=Oe,Le={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ne={init:function(){this.setColour(oe),this.itemCount_=1,this.setMutator(new lt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(lt.Msg.MIXLY_PRODUCT+lt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(lt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(lt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Xe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new lt.FieldTextInput("",lt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(lt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new lt.FieldImage(e,7,12,'"')}},be={init:function(){this.setColour(Fe),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(lt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ye={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String).appendField(lt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Be={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ge={init:function(){this.WHERE_OPTIONS=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.TEXT_GET_INDEX_RANDOM+1+lt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.LISTS_GET_INDEX_GET,"MODE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(lt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+lt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",lt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:lt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:lt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:lt.Msg.TEXT_GET_INDEX_RANDOM};return lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+lt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==lt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new lt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ue={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.LISTS_GET_INDEX_FROM_START+"n"+lt.Msg.TEXT_CHARAT2)}},we={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(lt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(lt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},He={init:function(){this.WHERE_OPTIONS_1=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[lt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==lt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new lt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ke={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(lt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},We={init:function(){var t=[[lt.Msg.MIXLY_EQUALS,"==="],[lt.Msg.MIXLY_STARTSWITH,"startswith"],[lt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new lt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ke={init:function(){this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[lt.Msg.TEXT_UPPER,"upper"],[lt.Msg.TEXT_TITLE,"title"],[lt.Msg.TEXT_CAPITALIZE,"capitalize"],[lt.Msg.TEXT_SWAPCASE,"swapcase"],[lt.Msg.TEXT_LOWER,"lower"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:lt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:lt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:lt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:lt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:lt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Qe={init:function(){var t=[[lt.Msg.TEXT_LJUST,"ljust"],[lt.Msg.TEXT_CENTER,"center"],[lt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(lt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(lt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},qe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(lt.Msg.MIXLY_MID+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(lt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ze={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},je={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(lt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},$e={init:function(){this.setColour(Fe),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(lt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(lt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ze={init:function(){var t=[[lt.Msg.TEXT_TRIM_BOTH,"strip"],[lt.Msg.TEXT_TRIM_LEFT,"lstrip"],[lt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Fe),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(lt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:lt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:lt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:lt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ti={init:function(){this.setColour(Fe),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new lt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zi={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ji={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_KEYS),this.setTooltip(lt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_TOOLTIP)}},tn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},en={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},nn={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_DELETE_TOOLTIP)}},sn={init:function(){this.setColour(Qi),this.appendValueInput("DICT2").setCheck("Dict").appendField(lt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(lt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MID),this.setTooltip(lt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_CLEAR),this.setTooltip(lt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_n={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_ITEMS),this.setTooltip(lt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},pn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_VALUES),this.setTooltip(lt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LENGTH),this.setTooltip(lt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},un={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_DELDICT),this.setTooltip(lt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rn={init:function(){this.MODE=[[lt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[lt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(lt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=lt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=lt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new lt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},dn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setTooltip(lt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ln={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},In={init:function(){this.setColour(Qi),this.appendDummyInput("").appendField(new lt.FieldLabel(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new lt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Tn={init:function(){this.setColour(Qi),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},hn={init:function(){this.setColour(Qi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On=210,Rn={init:function(){var t=lt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:lt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:lt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},cn={init:function(){var t=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new lt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},gn={init:function(){var t=[[lt.Msg.LOGIC_OPERATION_AND,"AND"],[lt.Msg.LOGIC_OPERATION_OR,"OR"],[lt.Msg.LOGIC_OPERATION_NOR,"NOR"],[lt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:lt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:lt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Cn={init:function(){this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(lt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(lt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[lt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[lt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new lt.FieldDropdown(t),"BOOL"),this.setTooltip(lt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},An={init:function(){this.setColour(On),this.setOutput(!0),this.appendDummyInput().appendField(lt.Msg.LOGIC_NULL),this.setTooltip(lt.Msg.LOGIC_NULL_TOOLTIP)}},Ln={init:function(){this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(lt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(lt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Nn={init:function(){var t=[[lt.Msg.TEXT_APPEND_TO,"in"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new lt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(lt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.IN)}},Dn={init:function(){var t=[[lt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},fn={init:function(){this.setColour(On),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Fn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(lt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[lt.Msg.MIXLY_ADD,"a"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_ADD,"ab"],[lt.Msg.MIXLY_R_W,"r+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_R_W,"rb+"],[lt.Msg.MIXLY_W_R,"w+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_W_R,"wb+"],[lt.Msg.MIXLY_A_R,"a+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXPY_TEXT_ENCODE).appendField(new lt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MICROBIT_PYTHON_TYPE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.HTML_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+lt.Msg.MIXLY_ESP32_SET+{mkdir:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(lt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.HTML_FILE,"isfile"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},jn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(lt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(lt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Zn={init:function(){var t=lt.Procedures.findLegalName("",this),e=new lt.FieldTextInput(t,lt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new lt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&<.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(lt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(lt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(lt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(lt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=lt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),lt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{lt.Events.enable()}},mutationToDom:function(t){var e=lt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_FORM_CONTENT).appendField(new lt.FieldDropdown([[lt.Msg.HTML_TEXT,"text"],[lt.Msg.HTML_EMAIL,"email"],[lt.Msg.HTML_NUMBER,"number"],[lt.Msg.HTML_PASSWORD,"password"],[lt.Msg.HTML_CHECKBOX,"checkbox"],[lt.Msg.HTML_RADIOBUTTON,"radiobutton"],[lt.Msg.HTML_BUTTON,"button"],[lt.Msg.HTML_COLOUR,"colour"],[lt.Msg.HTML_DATE,"date"],[lt.Msg.HTML_LOCALTIME,"local time"],[lt.Msg.HTML_FILE,"file"],[lt.Msg.HTML_HIDDEN,"hidden"],[lt.Msg.HTML_IMAGE,"image"],[lt.Msg.HTML_MONTH,"month"],[lt.Msg.HTML_RANGE,"range"],[lt.Msg.HTML_RESET,"reset"],[lt.Msg.HTML_SEARCH,"search"],[lt.Msg.HTML_SUBMIT,"submit"],[lt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[lt.Msg.HTML_TIME,"time"],[lt.Msg.HTML_URL,"url"],[lt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(lt.Msg.HTML_NAME).appendField(new lt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(lt.Msg.HTML_VALUE).appendField(new lt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_TEXT).appendField(new lt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs=160,to={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new lt.FieldTable(""),"TEXT")}},eo={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT")}},io={init:function(){this.setColour(Zs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},no={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},so={init:function(){this.setColour(Zs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new lt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},oo={init:function(){this.setColour(Zs),this.appendValueInput("VALUE").appendField(lt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},_o={init:function(){this.setColour(Zs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(lt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=lt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},lt.isNumber(n)&<.isNumber(s)&<.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ia=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},na=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},sa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},oa=function(t,e){return["None",e.ORDER_ATOMIC]},_a=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},pa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},la=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ia=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ha=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ma=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ra=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ga=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},La=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Fa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Pa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),lt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},hu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ou=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ru=function(t,e){return'"},cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},gu=function(){return this.getFieldValue("TEXT")+"\n"},Cu=function(t){return t.getFieldValue("TEXT")+"\n"},Su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Au=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Lu=function(){return""},Nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Du=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},vu.scrubNakedValue=function(t){return t+"\n"},vu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},vu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},vu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,vu.COMMENT_WRAP-3),n+=vu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Yu="#74A55B",Xu={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},yu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},xu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Vu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Gu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Uu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},wu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(lt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Wu={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ju={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Qu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},zu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField("360°"+lt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETTING+lt.Msg.blockpy_turtle_rotate+lt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},ju={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Zu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new lt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(lt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[lt.Msg.MOTOR_N,"ms32006.MOT_N"],[lt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},nr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new lt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},sr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},or={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},_r={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},pr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ar={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ur={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new lt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["SYN6288"+lt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+lt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_WHETHER).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_STOPPED,"0"],[lt.Msg.MIXLY_PLAYING,"1"],[lt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},lr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_PLAY,"1"],[lt.Msg.MIXLY_MP3_PAUSE,"2"],[lt.Msg.MIXLY_STOP,"3"],[lt.Msg.MIXLY_MP3_PREV,"4"],[lt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(lt.Msg.MIXLY_MP3_VOL+lt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Tr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE+lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[lt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[lt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[lt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[lt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[lt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[lt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},hr={},mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Or={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Rr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},gr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Cr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LISTS_SET_INDEX_SET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[lt.Msg.MIXLY_SPEED,"[1]"],[lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[lt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[lt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[lt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Pr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},br={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SERVO+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MOTOR+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr="#6C9858",Hr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},kr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_ON,"1"],[lt.Msg.MIXLY_ESP32_OFF,"0"],[lt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Wr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},Jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LIGHT_RED,"1"],[lt.Msg.MIXLY_LIGHT_GREEN,"2"],[lt.Msg.MIXLY_LIGHT_BLUE,"3"],[lt.Msg.MIXLY_LIGHT_YELLOW,"4"],[lt.Msg.MIXLY_LIGHT_CYAN,"5"],[lt.Msg.MIXLY_LIGHT_PURPLE,"6"],[lt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},$r={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},td={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},id={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},nd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},sd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},_d={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},pd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ad={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ud={init:function(){this.setColour(wr),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Id={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Td={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hd={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},md={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(wr),this.appendDummyInput().appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Sd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"1"],[lt.Msg.TEXT_TRIM_RIGHT,"2"],[lt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"0"],[lt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},vd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_RECORD_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.MIXLY_ALL+lt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},wd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Hd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(lt.Msg.MIXLY_RELEASE).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT)}},kd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SPECIAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[lt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[lt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[lt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[lt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[lt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[lt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[lt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[lt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Wd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GENERAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Kd={init:function(){this.setColour(wr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new lt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(lt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},yh={init:function(){this.jsonInit({colour:Ah,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:lt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:lt.Msg.MIXLY_MICROBIT_Built_in_image})}},xh={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Vh={init:function(){this.setColour(Ah),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(Vh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"add"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Bh={init:function(){this.setColour(Ah),this.appendValueInput("A").setCheck("esp32_image").appendField(lt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Gh={init:function(){this.setColour(Ah),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Gh.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:lt.Msg.MIXLY_UP,shift_down:lt.Msg.MIXLY_DOWN,shift_left:lt.Msg.MIXLY_LEFT,shift_right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"shift_up"],[lt.Msg.MIXLY_DOWN,"shift_down"],[lt.Msg.MIXLY_LEFT,"shift_left"],[lt.Msg.MIXLY_RIGHT,"shift_right"]]},Uh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},kh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Clear_display)}},Kh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_SHOW+lt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Zh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.OLED_SET_FONT).appendField(new lt.FieldDropdown(Zh.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+lt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},tm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},em={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Ah),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(lt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_m={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},pm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},am={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.mpython_display_hline_1,"1"],[lt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(rm.IMAGES),"path"),this.setColour(Ah),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},dm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(lm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Im={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Tm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Mm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new lt.FieldDropdown(hm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[lt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[lt.Msg.CLOCKWISE+"90"+lt.Msg.blockpy_setheading_degree,"1"],[lt.Msg.CLOCKWISE+"180"+lt.Msg.blockpy_setheading_degree,"2"],[lt.Msg.CLOCKWISE+"270"+lt.Msg.blockpy_setheading_degree,"3"]]},mm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Em={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Em.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(lt.Msg.MIXLY_AipImageClassify_Image+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Sm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.jsonInit({colour:Ah,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Nm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Dm={init:function(){this.setColour(Ah),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(lt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(lt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(lt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(lt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},bm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},xm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vm={init:function(){this.setColour(Ah),this.appendValueInput("direct").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ERROR_RATE).appendField(new lt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Um={init:function(){Dh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){vh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Gh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Hh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm=180,Qm={init:function(){this.setColour(Jm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(lt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Qm.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"]]},qm={init:function(){this.setColour(Jm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(qm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"+"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},zm={init:function(){this.setColour(Jm),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new lt.FieldDropdown(zm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE+{height:lt.Msg.MIXLY_HEIGHT,width:lt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[lt.Msg.MIXLY_HEIGHT,"height"],[lt.Msg.MIXLY_WIDTH,"width"]]},jm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RECT).appendField(new lt.FieldDropdown(jm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_OLED_RECT)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},$m={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new lt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new lt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE="#777777",eE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("from ").appendField(new lt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new lt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("import ").appendField(new lt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField(new lt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},WE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PROJECT).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},qE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.appendDummyInput().appendField(lt.Msg.MIXLY_Service_quality_display).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_AT_MOST_ONCE,"0"],[lt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},zE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},jE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$E={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},eO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},iO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},nO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},sO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},oO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(lt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},_O={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+lt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aO={init:function(){this.VISITOR_ID=It.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(xE),this.appendDummyInput("").appendField(new lt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},uO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},rO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(lt.Msg.MIXLY_REQUESTS_GET).appendField(lt.Msg.MIXLY_GET_CURRENT_TIME).appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(lt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(lt.Msg.MQTT_Topic).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO=VE,MO=BE,hO=GE,mO=UE,EO=HE,OO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO=OO,cO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},SO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("Ollama "+lt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(lt.inputs.Align.RIGHT).appendField(`MixIO ${lt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO=225,YO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(lt.Msg.MIXLY_NETWORK_MODE).appendField(new lt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},XO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[lt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=lt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:lt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:lt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},bO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},yO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:lt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},xO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},VO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_CONNECT+lt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},BO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[lt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:lt.Msg.MIXLY_ESP32_NETWORK_IP,1:lt.Msg.MIXLY_ESP32_NETWORK_MASK,2:lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},GO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},UO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},wO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(lt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},HO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},kO={init:function(){this.setColour(vO),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new lt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},WO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},KO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},JO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},QO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},qO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},zO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},jO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},$O={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},ZO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},tR={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},eR={init:function(){this.setColour(vO),this.appendValueInput("DOMAIN").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS_GET).appendField(new lt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},iR={init:function(){this.appendValueInput("VAL"),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(iR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:lt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:lt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:lt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},nR={init:function(){this.appendValueInput("VAR").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown(nR.METHOD),"DIR"),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:lt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:lt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},sR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(lt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},oR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(new lt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},_R="#3288dd",pR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS).appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},aR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(lt.Msg.blockpy_REQUESTS+lt.Msg.OLED_STRING),this.appendDummyInput("").appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},uR={init:function(){this.appendValueInput("VAL"),this.setColour(_R),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(uR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[lt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},rR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(lt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},dR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(lt.Msg.MIXLY_EMQX_PORT).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(_R),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(lt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"+lt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},hR="#A58C5B",mR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_IS_PRESSED)}},ER={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_WAS_PRESSED)}},OR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_BUTTON+lt.Msg.MIXLY_GET_PRESSES)}},RR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[lt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[lt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},cR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"],[lt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down,freefall:lt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},gR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},CR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},SR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(new lt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new lt.FieldDropdown(SR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},AR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},LR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},NR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"left"],[lt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(lt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=lt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=lt.Msg.MIXLY_ESP32_NEAR;return i+{left:lt.Msg.TEXT_TRIM_LEFT,right:lt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},DR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[lt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},fR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[lt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},FR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},PR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField("LM35"+lt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LM35)}},vR={init:function(){this.setColour(hR),this.appendValueInput("I2CSUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[lt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[lt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[lt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[lt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[lt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[lt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[lt.Msg.HTML_COLOUR+"、"+lt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+lt.Msg.MIXLY_NEXT+"、"+lt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[lt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[lt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[lt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[lt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[lt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},YR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},XR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},bR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},yR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},xR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[lt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[lt.Msg.MIXLY_THE_FIRST,"3"],[lt.Msg.MIXLY_THE_SECOND,"4"],[lt.Msg.MIXLY_THE_THIRD,"5"],[lt.Msg.MIXLY_THE_FOURTH,"6"],[lt.Msg.MIXLY_THE_FIFTH,"7"],[lt.Msg.MIXLY_THE_SIXTH,"8"],[lt.Msg.MIXLY_THE_SEVENTH,"9"],[lt.Msg.MIXLY_THE_EIGHTH,"10"],[lt.Msg.MIXLY_THE_NINTH,"11"],[lt.Msg.MIXLY_THE_TENTH,"12"],[lt.Msg.MIXLY_THE_ELEVENTH,"13"],[lt.Msg.MIXLY_THE_TWELFTH,"14"],[lt.Msg.MIXLY_THE_13TH,"15"],[lt.Msg.MIXLY_THE_14TH,"16"],[lt.Msg.MIXLY_THE_15TH,"17"],[lt.Msg.MIXLY_THE_16TH,"18"],[lt.Msg.MIXLY_THE_17TH,"19"],[lt.Msg.MIXLY_THE_18TH,"20"],[lt.Msg.MIXLY_THE_19TH,"21"],[lt.Msg.MIXLY_THE_20TH,"22"],[lt.Msg.MIXLY_Turn_on_the_lights,"23"],[lt.Msg.MIXLY_Turn_off_the_lights,"24"],[lt.Msg.MIXLY_Turn_up_the_brightness,"25"],[lt.Msg.MIXLY_Turn_down_the_brightness,"26"],[lt.Msg.MIXLY_Set_it_to_red,"27"],[lt.Msg.MIXLY_Set_it_to_orange,"28"],[lt.Msg.MIXLY_Set_it_to_yellow,"29"],[lt.Msg.MIXLY_Set_it_to_green,"30"],[lt.Msg.MIXLY_Set_it_to_cyan,"31"],[lt.Msg.MIXLY_Set_it_to_blue,"32"],[lt.Msg.MIXLY_Set_it_to_purple,"33"],[lt.Msg.MIXLY_Set_it_to_white,"34"],[lt.Msg.MIXLY_Turn_on_the_fan,"35"],[lt.Msg.MIXLY_Turn_off_the_fan,"36"],[lt.Msg.MIXLY_First_gear,"37"],[lt.Msg.MIXLY_Wind_speed_second,"38"],[lt.Msg.MIXLY_Third_gear,"39"],[lt.Msg.MIXLY_Previous,"40"],[lt.Msg.MIXLY_Next_page,"41"],[lt.Msg.MIXLY_Show_smiley_face,"42"],[lt.Msg.MIXLY_Show_crying_face,"43"],[lt.Msg.MIXLY_Show_love,"44"],[lt.Msg.MIXLY_Close_display,"45"],[lt.Msg.MIXLY_Start_execution,"46"],[lt.Msg.MIXLY_FORWARD,"47"],[lt.Msg.MIXLY_BACKWARD,"48"],[lt.Msg.MIXLY_TURNLEFT,"49"],[lt.Msg.MIXLY_TURNRIGHT,"50"],[lt.Msg.MIXLY_STOP,"51"],[lt.Msg.MIXLY_Accelerate,"52"],[lt.Msg.MIXLY_retard,"53"],[lt.Msg.ROTATION_FORWARD,"54"],[lt.Msg.ROTATION_BACKWARD,"55"],[lt.Msg.MIXLY_Query_temperature,"56"],[lt.Msg.MIXLY_Query_humidity,"57"],[lt.Msg.MIXLY_Query_brightness,"58"],[lt.Msg.MIXLY_Query_sound,"59"],[lt.Msg.MIXLY_Query_time,"60"],[lt.Msg.MIXLY_Query_distance,"61"],[lt.Msg.MIXLY_Query_pressure,"62"],[lt.Msg.MIXLY_Query_key,"63"],[lt.Msg.MIXLY_Query_touch,"64"],[lt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(lt.Msg.MIXLY_WHETHER+lt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},BR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[lt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[lt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},GR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MP3_PLAY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_WIND_SPEED,"154"],[lt.Msg.MIXLY_HYETAL,"155"],[lt.Msg.MIXLY_TEMPERATURE,"156"],[lt.Msg.MIXLY_Humidity,"157"],[lt.Msg.MIXLY_Altitude,"158"],[lt.Msg.MIXLY_SOUND,"159"],[lt.Msg.MIXLY_BRIGHTNESS,"160"],[lt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[lt.Msg.MIXLY_SERVO,"162"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[lt.Msg.MIXLY_BUTTON2,"164"],[lt.Msg.MIXLY_ESP32_TOUCH,"165"],[lt.Msg.MIXLY_PAY,"166"],[lt.Msg.MIXLY_CARSH_CHANGE,"167"],[lt.Msg.MIXLY_COUNTDOWN,"168"],[lt.Msg.MIXLY_TIMING,"169"],[lt.Msg.MIXLY_AT_THE_MOMENT,"170"],[lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[lt.Msg.MIXLY_FORWARD,"172"],[lt.Msg.MIXLY_BACKWARD,"173"],[lt.Msg.MIXLY_TURNLEFT,"174"],[lt.Msg.MIXLY_TURNRIGHT,"175"],[lt.Msg.MIXLY_STOP,"176"],[lt.Msg.MIXLY_Accelerate,"177"],[lt.Msg.MIXLY_retard,"178"],[lt.Msg.ROTATION_FORWARD,"179"],[lt.Msg.ROTATION_BACKWARD,"180"],[lt.Msg.TUPLE_JOIN,"181"],[lt.Msg.MIXLY_SHOW,"182"],[lt.Msg.MIXLY_LAMPLIGHT,"183"],[lt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(lt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_UNIT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_YEAR,"117"],[lt.Msg.MIXLY_MONTH,"118"],[lt.Msg.MIXLY_DAY,"119"],[lt.Msg.MIXLY_HOUR,"120"],[lt.Msg.MIXLY_MINUTE,"121"],[lt.Msg.MIXLY_SECOND,"122"],[lt.Msg.MIXLY_WEEK2,"123"],[lt.Msg.MIXLY_RMB_UNIT,"124"],[lt.Msg.blockpy_setheading_degree,"125"],[lt.Msg.MIXLY_GEAR,"126"],[lt.Msg.MIXLY_LAYER,"127"],[lt.Msg.MIXLY_GRAM,"128"],[lt.Msg.MIXLY_METER,"129"],[lt.Msg.MIXLY_CENTIMETER,"130"],[lt.Msg.MIXLY_MILLIMETER,"131"],[lt.Msg.MIXLY_LUMEN,"132"],[lt.Msg.MIXLY_DECIBEL,"133"],[lt.Msg.MIXLY_hectopascal,"134"],[lt.Msg.MIXLY_PERCENT,"135"],[lt.Msg.MIXLY_CELSIUS,"136"],[lt.Msg.MIXLY_METER_PER_SEC,"137"],[lt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[lt.Msg.MIXLY_SUCCESS,"140"],[lt.Msg.MIXLY_FAILED,"141"],[lt.Msg.MIXLY_WRONG,"142"],[lt.Msg.MIXLY_GOOD,"143"],[lt.Msg.MIXLY_blockpy_set_add,"144"],[lt.Msg.MIXLY_DECREASE,"145"],[lt.Msg.COLOUR_RGB_RED,"146"],[lt.Msg.COLOUR_RGB_ORANGE,"147"],[lt.Msg.COLOUR_YELLOW,"148"],[lt.Msg.COLOUR_RGB_GREEN,"149"],[lt.Msg.COLOUR_CYAN,"150"],[lt.Msg.COLOUR_RGB_BLUE,"151"],[lt.Msg.COLOUR_RGB_PURPLE,"152"],[lt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},UR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_SYSTEM+lt.Msg.MIXLY_CMD).appendField(new lt.FieldDropdown([[lt.Msg.MILXY_ENTER_WAKE_UP,"1"],[lt.Msg.MIXLY_INCREASE_VOLUME,"202"],[lt.Msg.MIXLY_REDUCE_VOLUME,"203"],[lt.Msg.MIXLY_MAX_VOLUME,"204"],[lt.Msg.MIXLY_MINIMUM,"205"],[lt.Msg.MIXLY_OPEN_RESPONSE,"206"],[lt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[lt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[lt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[lt.Msg.MIXLY_ESP32_MAX30102_IR+","+lt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[lt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[lt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},WR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+lt.Msg.HTML_COLOUR,"[2]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_IR_STRENGTH,"[1]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+"RGB"+lt.Msg.HTML_COLOUR,"0"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_RGB_RAW,"1"],[lt.Msg.MIXLY_GET_ENV_LIGHT+lt.Msg.MIXLY_BRIGHTNESS,"2"],[lt.Msg.GET_IR_STRENGTH+lt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[lt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},zR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},jR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$R={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MIXGOPE_FIELD+lt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[lt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},nc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET+lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_c={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},pc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_GETTEMPERATUE)}},ac={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},uc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},rc={init:function(){this.setColour(hR),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},dc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[lt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Tc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(lt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},hc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_SCAN_OK,"0"],[lt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[lt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Rc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},YF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},bF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},xF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},BF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},GF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},UF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},HF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},KF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},zF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},$F=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZF=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},tP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},eP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},iP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},nP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},sP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},oP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},pP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},aP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},uP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},rP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},dP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},lP=function(t,e){e.definitions_.import_st7789="import st7789";var i=It.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},IP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},TP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},MP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},hP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},mP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},EP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},OP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},RP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},cP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},gP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},CP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},SP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},AP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=It.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},LP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},DP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},FP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},bP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},xP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},VP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},BP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},GP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},UP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},wP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform()))return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},HP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},kP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},WP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},KP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},JP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},QP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},qP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},jP=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Vv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Gv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Uv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},Hv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if(["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},$v=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},tY=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},eY=UP,iY=_v,nY=nv,sY=_v,oY=pv,_Y=ZP,pY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},aY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},uY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},RB=function(){return"control.reset()\n"},cB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},gB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},CB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},SB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},AB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},LB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},NB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},DB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},fB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},FB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},PB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},vB=function(){return"while True:\n pass\n"},YB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},XB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},bB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},yB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},xB=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},VB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},BB=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},GB=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},UB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},wB=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},HB=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},kB=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},WB=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},KB=GB,JB=UB,QB=BB,qB=bB,zB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$B=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZB=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},tG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},eG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},iG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},nG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},sG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},oG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},_G=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},pG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},aG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},uG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},rG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},dG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lG}=It,IG=lG.render(dG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:TG}=It,MG=TG.render(dG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:hG}=It,mG=hG.render(dG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),EG=new lt.Generator("Python");EG.INDENT=" ",EG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),EG.ORDER_ATOMIC=0,EG.ORDER_COLLECTION=1,EG.ORDER_STRING_CONVERSION=1,EG.ORDER_UNARY_POSTFIX=1,EG.ORDER_UNARY_PREFIX=2,EG.ORDER_MEMBER=2.1,EG.ORDER_FUNCTION_CALL=2.2,EG.ORDER_EXPONENTIATION=3,EG.ORDER_UNARY_SIGN=4,EG.ORDER_BITWISE_NOT=4,EG.ORDER_MULTIPLICATIVE=5,EG.ORDER_ADDITIVE=6,EG.ORDER_BITWISE_SHIFT=7,EG.ORDER_BITWISE_AND=8,EG.ORDER_BITWISE_XOR=9,EG.ORDER_BITWISE_OR=10,EG.ORDER_RELATIONAL=11,EG.ORDER_EQUALITY=11,EG.ORDER_LOGICAL_NOT=12,EG.ORDER_LOGICAL_AND=13,EG.ORDER_LOGICAL_OR=14,EG.ORDER_ASSIGNMENT=14,EG.ORDER_CONDITIONAL=15,EG.ORDER_LAMBDA=16,EG.ORDER_NONE=99,EG.ORDER_OVERRIDES=[[EG.ORDER_FUNCTION_CALL,EG.ORDER_MEMBER],[EG.ORDER_FUNCTION_CALL,EG.ORDER_FUNCTION_CALL],[EG.ORDER_MEMBER,EG.ORDER_MEMBER],[EG.ORDER_MEMBER,EG.ORDER_FUNCTION_CALL]],EG.init=function(){EG.PASS=this.INDENT+"pass\n",EG.definitions_=Object.create(null),EG.functionNames_=Object.create(null),EG.setups_=Object.create(null),EG.loops_=Object.create(null),EG.codeEnd_=Object.create(null),EG.variableDB_?EG.variableDB_.reset():EG.variableDB_=new mt(EG.RESERVED_WORDS_)},EG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in EG.functions_)_.push(EG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in EG.setups_)p.push(EG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in EG.loops_)a.push(EG.loops_[s]);var u=[];for(var s in EG.codeEnd_)u.push(EG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},EG.scrubNakedValue=function(t){return t+"\n"},EG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},EG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},EG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,EG.COMMENT_WRAP-3),n+=EG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const OG={};OG["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:It.Profile.generate(["0-11","18-21"]),input_pin:It.Profile.generate(["0-11","18-21"]),output_pin:It.Profile.generate(["0-11","18-21"]),pwm_input:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:It.Profile.generate(["0-5"],"adc","adc"),pwm_output:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:It.Profile.generate(["0-5"],"adc","adc"),espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),digital:It.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:It.Profile.generate(["0-11","18-21"]),pwm:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:It.Profile.generate(["0-5"]),analog:It.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-1"]),als_num:It.Profile.generate(["0-3"])},OG["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-3"])},OG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},OG["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const RG=OG,cG=230,gG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},fG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},vG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},YG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},XG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},bG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},VG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},BG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm),"PIN"),this.setOutput(!0)}},WG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch),"PIN"),this.setOutput(!0)}},QG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},qG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},zG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},jG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.imglist),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ZG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},tU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},oU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},rU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.one_more),"PIN"),this.setOutput(!0)}},dU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},lU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},IU=lU,TU=lU,MU=lU,hU=lU,mU=lU,EU=lU,OU=lU,RU=lU,cU=lU,gU=lU,CU=lU,SU=lU,AU=lU,LU=lU,NU=lU,DU=lU,fU=lU,FU=lU,PU=lU,vU=lU,YU=lU,XU=lU,bU=lU,yU=lU,xU=lU,VU=lU,BU=lU,GU=lU,UU=lU,wU=lU,HU=lU,kU=lU,WU=lU,KU=lU;Object.assign(lt.Variables,Mt),Object.assign(lt.Procedures,Pu),Object.assign(lt.Lang.ZhHans,pt),Object.assign(lt.Lang.ZhHant,at),Object.assign(lt.Lang.En,ut),lt.Python=vu,lt.generator=vu,It.Profile.default={},Object.assign(It.Profile,RG),Object.assign(It.Profile.default,RG["ESP32 Generic"]),Object.assign(lt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,y,w,U,v,x,H,f,G,B,V,F,D,N,X,Y,b,P,rt),Object.assign(lt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,Z,ot,st,q,tt,_t,K,nt,it,et,J,W,k,j,z,$,Q,dt)})(); \ No newline at end of file diff --git a/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js b/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js index fe327c31..c2ba9638 100644 --- a/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js +++ b/boards/default_src/micropython_esp32c2/blocks/esp32_profile.js @@ -2,7 +2,7 @@ import { Profile } from 'mixly'; const pins = {}; -pins["MixGo MINI"] = { +pins["元控奋斗(MINI)"] = { description: "MicroPython[ESP32C3 MixGo MINI]", digital_pin: Profile.generate(['0-10', '18']), input_pin: Profile.generate(['0-10', '18']), diff --git a/boards/default_src/micropython_esp32c2/origin/config.json b/boards/default_src/micropython_esp32c2/origin/config.json index cbdc56f3..63fe4ab8 100644 --- a/boards/default_src/micropython_esp32c2/origin/config.json +++ b/boards/default_src/micropython_esp32c2/origin/config.json @@ -1,6 +1,6 @@ { "board": { - "MixGo MINI": { + "元控奋斗(MINI)": { "key": "micropython:esp32c2:mixgo_mini", "config": [ {

)3sMwoj<33!xasmws)w41iM}Qs@)w2qH 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